Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit e1da3991 authored by alperozturk's avatar alperozturk
Browse files

fix UsersAndGroupsSearchProvider

parent bd0fc3e5
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />

    <uses-permission android:name="com.owncloud.android.providers.PERMISSION" />
    <queries>
        <package android:name="com.nextcloud.client" />
        <package android:name="com.nextcloud.android.beta" />
@@ -192,5 +192,12 @@
            </intent-filter>
        </service>

        <provider
            android:name=".share.helper.UsersAndGroupsSearchProvider"
            android:authorities="@string/users_and_groups_search_authority"
            android:enabled="true"
            android:exported="false"
            android:label="@string/note_share_activity_search_text" />

    </application>
</manifest>
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import it.niedermann.owncloud.notes.persistence.sync.OcsAPI;
import it.niedermann.owncloud.notes.persistence.sync.ShareAPI;
import it.niedermann.owncloud.notes.shared.model.ApiVersion;
import it.niedermann.owncloud.notes.shared.model.Capabilities;
import okhttp3.ResponseBody;
import retrofit2.NextcloudRetrofitApiBuilder;
import retrofit2.Retrofit;

@@ -118,6 +119,7 @@ public class ApiProvider {
                    new GsonBuilder()
                            .setStrictness(Strictness.LENIENT)
                            .excludeFieldsWithoutExposeAnnotation()
                            .registerTypeAdapter(ResponseBody.class, new ResponseBodyTypeAdapter())
                            .registerTypeHierarchyAdapter(Calendar.class, (JsonSerializer<Calendar>) (src, typeOfSrc, ctx) -> new JsonPrimitive(src.getTimeInMillis() / 1_000))
                            .registerTypeHierarchyAdapter(Calendar.class, (JsonDeserializer<Calendar>) (src, typeOfSrc, ctx) -> {
                                final var calendar = Calendar.getInstance();
+17 −0
Original line number Diff line number Diff line
package it.niedermann.owncloud.notes.persistence

import com.google.gson.TypeAdapter
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.ResponseBody

class ResponseBodyTypeAdapter : TypeAdapter<ResponseBody>() {
    override fun write(out: JsonWriter, value: ResponseBody?) {
        throw UnsupportedOperationException("Not needed")
    }

    override fun read(jsonReader: JsonReader): ResponseBody {
        return ResponseBody.create("application/json".toMediaTypeOrNull(), jsonReader.nextString())
    }
}
+6 −4
Original line number Diff line number Diff line
@@ -8,7 +8,9 @@ import it.niedermann.owncloud.notes.share.model.UpdateShareInformationRequest
import it.niedermann.owncloud.notes.share.model.UpdateSharePermissionRequest
import it.niedermann.owncloud.notes.share.model.UpdateShareRequest
import it.niedermann.owncloud.notes.shared.model.OcsResponse
import okhttp3.ResponseBody
import retrofit2.Call
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
@@ -23,10 +25,10 @@ interface ShareAPI {
        @Query("format") format: String = "json",
        @Query("itemType") itemType: String = "file",
        @Query("search") search: String,
        @Query("page") page: Int,
        @Query("perPage") perPage: Int,
        @Query("lookup") lookup: Boolean = true,
    ): Call<Any>
        @Query("page") page: String,
        @Query("perPage") perPage: String,
        @Query("lookup") lookup: String = "false",
    ): Response<ResponseBody>

    @GET("shares")
    fun getShares(remoteId: Long): Call<OcsResponse<List<OCShare>>>
+6 −3
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap
        }

        SuggestionAdapter suggestionAdapter = new SuggestionAdapter(this, null);
        UsersAndGroupsSearchProvider provider = new UsersAndGroupsSearchProvider(this, repository);
        // UsersAndGroupsSearchProvider provider = new UsersAndGroupsSearchProvider(this, repository);

        binding.searchView.setSuggestionsAdapter(suggestionAdapter);
        binding.searchView.setSearchableInfo(searchManager.getSearchableInfo(componentName));
@@ -185,6 +185,7 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap
            binding.searchView.setQuery("", false);
        });

        /*
          binding.searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
@@ -227,6 +228,8 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap
                return false;
            }
        });
         */


        binding.searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() {
            @Override
@@ -244,7 +247,7 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap
                    String shareWith = cursor.getString(cursor.getColumnIndexOrThrow(UsersAndGroupsSearchProvider.SHARE_WITH));
                    int shareType = cursor.getInt(cursor.getColumnIndexOrThrow(UsersAndGroupsSearchProvider.SHARE_TYPE));
                    navigateNoteShareDetail(shareWith, shareType);
                    provider.dispose();
                    // provider.dispose();
                }
                return true;
            }
Loading