Loading app/src/main/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -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" /> Loading Loading @@ -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> app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading app/src/main/java/it/niedermann/owncloud/notes/persistence/ResponseBodyTypeAdapter.kt 0 → 100644 +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()) } } app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/ShareAPI.kt +6 −4 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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>>> Loading app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java +6 −3 Original line number Diff line number Diff line Loading @@ -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)); Loading @@ -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) { Loading Loading @@ -227,6 +228,8 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap return false; } }); */ binding.searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() { @Override Loading @@ -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 Loading
app/src/main/AndroidManifest.xml +8 −1 Original line number Diff line number Diff line Loading @@ -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" /> Loading Loading @@ -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>
app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading
app/src/main/java/it/niedermann/owncloud/notes/persistence/ResponseBodyTypeAdapter.kt 0 → 100644 +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()) } }
app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/ShareAPI.kt +6 −4 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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>>> Loading
app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java +6 −3 Original line number Diff line number Diff line Loading @@ -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)); Loading @@ -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) { Loading Loading @@ -227,6 +228,8 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap return false; } }); */ binding.searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() { @Override Loading @@ -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