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 (...); }