diff --git a/extern/GmsApi b/extern/GmsApi index 9daa4db4..a5afc233 160000 --- a/extern/GmsApi +++ b/extern/GmsApi @@ -1 +1 @@ -Subproject commit 9daa4db4f3bfe2508d36a170520b60c68df5fbe1 +Subproject commit a5afc23373ab1890f5df2ecebce96e9db74c0829 diff --git a/extern/UnifiedNlp b/extern/UnifiedNlp index 424f0c38..8c398c9e 160000 --- a/extern/UnifiedNlp +++ b/extern/UnifiedNlp @@ -1 +1 @@ -Subproject commit 424f0c387f8db113501069f7d4e5bd12febb6f72 +Subproject commit 8c398c9e34ab59004c77a8b34830a8e9facd010e diff --git a/extern/Wearable b/extern/Wearable index 666ef2a8..682fdea8 160000 --- a/extern/Wearable +++ b/extern/Wearable @@ -1 +1 @@ -Subproject commit 666ef2a8628b1c76701a2d5f138d4fd90751b5e9 +Subproject commit 682fdea8a5f675ea64505991700907ae936081f9 diff --git a/play-services-core/build.gradle b/play-services-core/build.gradle index f37a969f..ad1c5bd2 100644 --- a/play-services-core/build.gradle +++ b/play-services-core/build.gradle @@ -19,7 +19,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.0.0' + classpath 'com.android.tools.build:gradle:2.1.0' } } @@ -81,7 +81,7 @@ android { def x = getMyVersionCode() // We are not allowed to freely choose the hundreds column as it defines the device type // Update commit id to current when increasing gms version code - versionCode(8490200 + x % 100 + ((int) (x / 100)) * 1000) + versionCode(9083200 + x % 100 + ((int) (x / 100)) * 1000) ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86" diff --git a/play-services-core/src/main/AndroidManifest.xml b/play-services-core/src/main/AndroidManifest.xml index 1d20c4f8..1d967e60 100644 --- a/play-services-core/src/main/AndroidManifest.xml +++ b/play-services-core/src/main/AndroidManifest.xml @@ -427,6 +427,12 @@ + + + + + + @@ -442,7 +448,6 @@ - diff --git a/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java b/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java index 0ba346dc..c5168e6c 100644 --- a/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java +++ b/play-services-core/src/main/java/org/microg/gms/people/DatabaseHelper.java @@ -22,6 +22,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; +import java.util.Set; + public class DatabaseHelper extends SQLiteOpenHelper { private static final int DB_VERSION = 3; private static final String DB_NAME = "pluscontacts.db"; diff --git a/play-services-core/src/main/java/org/microg/gms/reminders/RemindersService.java b/play-services-core/src/main/java/org/microg/gms/reminders/RemindersService.java new file mode 100644 index 00000000..d173ce9a --- /dev/null +++ b/play-services-core/src/main/java/org/microg/gms/reminders/RemindersService.java @@ -0,0 +1,37 @@ +/* + * Copyright 2013-2016 microG Project Team + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.microg.gms.reminders; + +import android.os.RemoteException; + +import com.google.android.gms.common.internal.GetServiceRequest; +import com.google.android.gms.common.internal.IGmsCallbacks; + +import org.microg.gms.BaseService; +import org.microg.gms.common.GmsService; + +public class RemindersService extends BaseService { + + public RemindersService() { + super("GmsRemindSvc", GmsService.REMINDERS); + } + + @Override + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request, GmsService service) throws RemoteException { + callback.onPostInitComplete(0, new RemindersServiceImpl(), null); + } +} diff --git a/play-services-core/src/main/java/org/microg/gms/reminders/RemindersServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/reminders/RemindersServiceImpl.java new file mode 100644 index 00000000..7d3f9409 --- /dev/null +++ b/play-services-core/src/main/java/org/microg/gms/reminders/RemindersServiceImpl.java @@ -0,0 +1,169 @@ +/* + * Copyright 2013-2016 microG Project Team + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.microg.gms.reminders; + +import android.os.RemoteException; +import android.util.Log; + +import com.google.android.gms.reminders.AccountState; +import com.google.android.gms.reminders.CreateReminderOptionsInternal; +import com.google.android.gms.reminders.LoadRemindersOptions; +import com.google.android.gms.reminders.ReindexDueDatesOptions; +import com.google.android.gms.reminders.UpdateRecurrenceOptions; +import com.google.android.gms.reminders.internal.IRemindersCallbacks; +import com.google.android.gms.reminders.internal.IRemindersService; +import com.google.android.gms.reminders.model.CustomizedSnoozePresetEntity; +import com.google.android.gms.reminders.model.TaskEntity; +import com.google.android.gms.reminders.model.TaskIdEntity; + +import java.util.List; + +public class RemindersServiceImpl extends IRemindersService.Stub { + private static final String TAG = RemindersServiceImpl.class.getSimpleName(); + + @Override + public void loadReminders(IRemindersCallbacks callbacks, LoadRemindersOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: loadReminders"); + + } + + @Override + public void addListener(IRemindersCallbacks callbacks) throws RemoteException { + Log.d(TAG, "unimplemented Method: addListener"); + + } + + @Override + public void createReminder(IRemindersCallbacks callbacks, TaskEntity task) throws RemoteException { + Log.d(TAG, "unimplemented Method: createReminder"); + + } + + @Override + public void updateReminder(IRemindersCallbacks callbacks, TaskEntity task) throws RemoteException { + Log.d(TAG, "unimplemented Method: updateReminder"); + + } + + @Override + public void deleteReminder(IRemindersCallbacks callbacks, TaskIdEntity taskId) throws RemoteException { + Log.d(TAG, "unimplemented Method: deleteReminder"); + + } + + @Override + public void bumpReminder(IRemindersCallbacks callbacks, TaskIdEntity taskId) throws RemoteException { + Log.d(TAG, "unimplemented Method: bumpReminder"); + + } + + @Override + public void hasUpcomingReminders(IRemindersCallbacks callbacks) throws RemoteException { + Log.d(TAG, "unimplemented Method: hasUpcomingReminders"); + + } + + @Override + public void createRecurrence(IRemindersCallbacks callbacks, TaskEntity task) throws RemoteException { + Log.d(TAG, "unimplemented Method: createRecurrence"); + + } + + @Override + public void updateRecurrence(IRemindersCallbacks callbacks, String s1, TaskEntity task, UpdateRecurrenceOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: updateRecurrence"); + + } + + @Override + public void deleteRecurrence(IRemindersCallbacks callbacks, String s1, UpdateRecurrenceOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: deleteRecurrence"); + + } + + @Override + public void changeRecurrence(IRemindersCallbacks callbacks, String s1, TaskEntity task, UpdateRecurrenceOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: changeRecurrence"); + + } + + @Override + public void makeTaskRecurring(IRemindersCallbacks callbacks, TaskEntity task) throws RemoteException { + Log.d(TAG, "unimplemented Method: makeTaskRecurring"); + + } + + @Override + public void makeRecurrenceSingleInstance(IRemindersCallbacks callbacks, String s1, TaskEntity task, UpdateRecurrenceOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: makeRecurrenceSingleInstance"); + + } + + @Override + public void clearListeners() throws RemoteException { + Log.d(TAG, "unimplemented Method: clearListeners"); + + } + + @Override + public void batchUpdateReminders(IRemindersCallbacks callbacks, List tasks) throws RemoteException { + Log.d(TAG, "unimplemented Method: batchUpdateReminders"); + + } + + @Override + public void createReminderWithOptions(IRemindersCallbacks callbacks, TaskEntity task, CreateReminderOptionsInternal options) throws RemoteException { + Log.d(TAG, "unimplemented Method: createReminderWithOptions"); + + } + + @Override + public void getCustomizedSnoozePreset(IRemindersCallbacks callbacks) throws RemoteException { + Log.d(TAG, "unimplemented Method: getCustomizedSnoozePreset"); + + } + + @Override + public void setCustomizedSnoozePreset(IRemindersCallbacks callbacks, CustomizedSnoozePresetEntity preset) throws RemoteException { + Log.d(TAG, "unimplemented Method: setCustomizedSnoozePreset"); + + } + + @Override + public void setAccountState(IRemindersCallbacks callbacks, AccountState accountState) throws RemoteException { + Log.d(TAG, "unimplemented Method: setAccountState"); + + } + + @Override + public void getAccountState(IRemindersCallbacks callbacks) throws RemoteException { + Log.d(TAG, "unimplemented Method: getAccountState"); + + } + + @Override + public void checkReindexDueDatesNeeded(IRemindersCallbacks callbacks, ReindexDueDatesOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: checkReindexDueDatesNeeded"); + + } + + @Override + public void reindexDueDates(IRemindersCallbacks callbacks, ReindexDueDatesOptions options) throws RemoteException { + Log.d(TAG, "unimplemented Method: reindexDueDates"); + + } +} diff --git a/proguard.flags b/proguard.flags index 86d9be1b..0aa6b0e4 100644 --- a/proguard.flags +++ b/proguard.flags @@ -20,6 +20,7 @@ -keep public class com.google.android.gms.maps.internal.CreatorImpl { public *; } -keep public class com.google.android.gms.common.security.ProviderInstallerImpl { public *; } -keep public class com.google.android.gms.plus.plusone.PlusOneButtonCreatorImpl { public *; } +-keep public class com.google.android.gms.dynamic.IObjectWrapper { public *; } # Keep AutoSafeParcelables -keep public class * extends org.microg.safeparcel.AutoSafeParcelable { @@ -37,5 +38,6 @@ -keep class **.BuildConfig { *; } # Keep protobuf class builders +-keep public class com.squareup.wire.Message -keep public class * extends com.squareup.wire.Message -keep public class * extends com.squareup.wire.Message$Builder { public (...); }