Loading play-services-core/src/main/AndroidManifest.xml +5 −1 Original line number Diff line number Diff line Loading @@ -193,6 +193,8 @@ </intent-filter> </service> <receiver android:name="org.microg.gms.checkin.ServiceInfoReceiver" /> <receiver android:name="org.microg.gms.checkin.TriggerReceiver"> <intent-filter> <action android:name="android.server.checkin.CHECKIN" /> Loading Loading @@ -238,7 +240,7 @@ </intent-filter> </receiver> <receiver android:name="org.microg.gms.gcm.StatusInfoProvider" /> <receiver android:name="org.microg.gms.gcm.ServiceInfoReceiver" /> <receiver android:name="org.microg.gms.gcm.TriggerReceiver"> <intent-filter> Loading Loading @@ -627,6 +629,8 @@ </intent-filter> </service> <receiver android:name="org.microg.gms.snet.ServiceInfoReceiver" /> <service android:name="org.microg.gms.snet.SafetyNetClientService"> <intent-filter> <action android:name="com.google.android.gms.safetynet.service.START" /> Loading play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java +21 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,11 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import org.microg.gms.common.PackageUtils; import java.io.File; public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeListener { public static final String PREF_ENABLE_CHECKIN = "checkin_enable_service"; Loading @@ -16,6 +21,9 @@ public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeL public static CheckinPrefs get(Context context) { if (INSTANCE == null) { if (!context.getPackageName().equals(PackageUtils.getProcessName())) { Log.w("Preferences", CheckinPrefs.class.getName() + " initialized outside main process", new RuntimeException()); } if (context == null) return new CheckinPrefs(null); INSTANCE = new CheckinPrefs(context.getApplicationContext()); } Loading @@ -23,18 +31,30 @@ public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeL } private SharedPreferences preferences; private SharedPreferences systemDefaultPreferences; private boolean checkinEnabled = false; private CheckinPrefs(Context context) { if (context != null) { preferences = PreferenceManager.getDefaultSharedPreferences(context); preferences.registerOnSharedPreferenceChangeListener(this); try { systemDefaultPreferences = (SharedPreferences) Context.class.getDeclaredMethod("getSharedPreferences", File.class, int.class).invoke(context, new File("/system/etc/microg.xml"), Context.MODE_PRIVATE); } catch (Exception ignored) { } update(); } } private boolean getSettingsBoolean(String key, boolean def) { if (systemDefaultPreferences != null) { def = systemDefaultPreferences.getBoolean(key, def); } return preferences.getBoolean(key, def); } private void update() { checkinEnabled = preferences.getBoolean(PREF_ENABLE_CHECKIN, false); checkinEnabled = getSettingsBoolean(PREF_ENABLE_CHECKIN, false); } @Override Loading play-services-core/src/main/java/org/microg/gms/checkin/LastCheckinInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,6 @@ public class LastCheckinInfo { .putLong(PREF_SECURITY_TOKEN, securityToken) .putString(PREF_VERSION_INFO, versionInfo) .putString(PREF_DEVICE_DATA_VERSION_INFO, deviceDataVersionInfo) .apply(); .commit(); } } play-services-core/src/main/java/org/microg/gms/gcm/GcmDatabase.java +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Build; import android.text.TextUtils; import java.util.ArrayList; Loading Loading @@ -65,6 +66,9 @@ public class GcmDatabase extends SQLiteOpenHelper { public GcmDatabase(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; if (Build.VERSION.SDK_INT >= 16) { this.setWriteAheadLoggingEnabled(true); } } public static class App { Loading play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java +36 −17 Original line number Diff line number Diff line Loading @@ -24,6 +24,9 @@ import android.net.NetworkInfo; import android.preference.PreferenceManager; import android.util.Log; import org.microg.gms.common.PackageUtils; import java.io.File; import java.util.Arrays; import java.util.Collections; import java.util.List; Loading @@ -50,6 +53,9 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe public static GcmPrefs get(Context context) { if (INSTANCE == null) { if (!context.getPackageName().equals(PackageUtils.getProcessName())) { Log.w("Preferences", GcmPrefs.class.getName() + " initialized outside main process", new RuntimeException()); } if (context == null) return new GcmPrefs(null); INSTANCE = new GcmPrefs(context.getApplicationContext()); } Loading @@ -70,30 +76,43 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe private int learntMobile = 300000; private int learntOther = 300000; private SharedPreferences defaultPreferences; private SharedPreferences preferences; private SharedPreferences systemDefaultPreferences; private GcmPrefs(Context context) { if (context != null) { defaultPreferences = PreferenceManager.getDefaultSharedPreferences(context); defaultPreferences.registerOnSharedPreferenceChangeListener(this); preferences = PreferenceManager.getDefaultSharedPreferences(context); preferences.registerOnSharedPreferenceChangeListener(this); try { systemDefaultPreferences = (SharedPreferences) Context.class.getDeclaredMethod("getSharedPreferences", File.class, int.class).invoke(context, new File("/system/etc/microg.xml"), Context.MODE_PRIVATE); } catch (Exception ignored) { } update(); } } private boolean getSettingsBoolean(String key, boolean def) { if (systemDefaultPreferences != null) { def = systemDefaultPreferences.getBoolean(key, def); } return preferences.getBoolean(key, def); } public void update() { gcmLogEnabled = defaultPreferences.getBoolean(PREF_FULL_LOG, true); lastPersistedId = defaultPreferences.getString(PREF_LAST_PERSISTENT_ID, ""); confirmNewApps = defaultPreferences.getBoolean(PREF_CONFIRM_NEW_APPS, false); gcmEnabled = defaultPreferences.getBoolean(PREF_ENABLE_GCM, false); gcmEnabled = getSettingsBoolean(PREF_ENABLE_GCM, false); gcmLogEnabled = getSettingsBoolean(PREF_FULL_LOG, true); confirmNewApps = getSettingsBoolean(PREF_CONFIRM_NEW_APPS, false); lastPersistedId = preferences.getString(PREF_LAST_PERSISTENT_ID, ""); networkMobile = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_MOBILE, "0")); networkWifi = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_WIFI, "0")); networkRoaming = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_ROAMING, "0")); networkOther = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_OTHER, "0")); networkMobile = Integer.parseInt(preferences.getString(PREF_NETWORK_MOBILE, "0")); networkWifi = Integer.parseInt(preferences.getString(PREF_NETWORK_WIFI, "0")); networkRoaming = Integer.parseInt(preferences.getString(PREF_NETWORK_ROAMING, "0")); networkOther = Integer.parseInt(preferences.getString(PREF_NETWORK_OTHER, "0")); learntMobile = defaultPreferences.getInt(PREF_LEARNT_MOBILE, 300000); learntWifi = defaultPreferences.getInt(PREF_LEARNT_WIFI, 300000); learntOther = defaultPreferences.getInt(PREF_LEARNT_OTHER, 300000); learntMobile = preferences.getInt(PREF_LEARNT_MOBILE, 300000); learntWifi = preferences.getInt(PREF_LEARNT_WIFI, 300000); learntOther = preferences.getInt(PREF_LEARNT_OTHER, 300000); } public String getNetworkPrefForInfo(NetworkInfo info) { Loading Loading @@ -182,7 +201,7 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe learntMobile = Math.max(MIN_INTERVAL, Math.min(learntMobile, MAX_INTERVAL)); learntWifi = Math.max(MIN_INTERVAL, Math.min(learntWifi, MAX_INTERVAL)); learntOther = Math.max(MIN_INTERVAL, Math.min(learntOther, MAX_INTERVAL)); defaultPreferences.edit().putInt(PREF_LEARNT_MOBILE, learntMobile).putInt(PREF_LEARNT_WIFI, learntWifi).putInt(PREF_LEARNT_OTHER, learntOther).apply(); preferences.edit().putInt(PREF_LEARNT_MOBILE, learntMobile).putInt(PREF_LEARNT_WIFI, learntWifi).putInt(PREF_LEARNT_OTHER, learntOther).apply(); } @Override Loading Loading @@ -223,11 +242,11 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe public void extendLastPersistedId(String id) { if (!lastPersistedId.isEmpty()) lastPersistedId += "|"; lastPersistedId += id; defaultPreferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); preferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); } public void clearLastPersistedId() { lastPersistedId = ""; defaultPreferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); preferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); } } Loading
play-services-core/src/main/AndroidManifest.xml +5 −1 Original line number Diff line number Diff line Loading @@ -193,6 +193,8 @@ </intent-filter> </service> <receiver android:name="org.microg.gms.checkin.ServiceInfoReceiver" /> <receiver android:name="org.microg.gms.checkin.TriggerReceiver"> <intent-filter> <action android:name="android.server.checkin.CHECKIN" /> Loading Loading @@ -238,7 +240,7 @@ </intent-filter> </receiver> <receiver android:name="org.microg.gms.gcm.StatusInfoProvider" /> <receiver android:name="org.microg.gms.gcm.ServiceInfoReceiver" /> <receiver android:name="org.microg.gms.gcm.TriggerReceiver"> <intent-filter> Loading Loading @@ -627,6 +629,8 @@ </intent-filter> </service> <receiver android:name="org.microg.gms.snet.ServiceInfoReceiver" /> <service android:name="org.microg.gms.snet.SafetyNetClientService"> <intent-filter> <action android:name="com.google.android.gms.safetynet.service.START" /> Loading
play-services-core/src/main/java/org/microg/gms/checkin/CheckinPrefs.java +21 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,11 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import org.microg.gms.common.PackageUtils; import java.io.File; public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeListener { public static final String PREF_ENABLE_CHECKIN = "checkin_enable_service"; Loading @@ -16,6 +21,9 @@ public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeL public static CheckinPrefs get(Context context) { if (INSTANCE == null) { if (!context.getPackageName().equals(PackageUtils.getProcessName())) { Log.w("Preferences", CheckinPrefs.class.getName() + " initialized outside main process", new RuntimeException()); } if (context == null) return new CheckinPrefs(null); INSTANCE = new CheckinPrefs(context.getApplicationContext()); } Loading @@ -23,18 +31,30 @@ public class CheckinPrefs implements SharedPreferences.OnSharedPreferenceChangeL } private SharedPreferences preferences; private SharedPreferences systemDefaultPreferences; private boolean checkinEnabled = false; private CheckinPrefs(Context context) { if (context != null) { preferences = PreferenceManager.getDefaultSharedPreferences(context); preferences.registerOnSharedPreferenceChangeListener(this); try { systemDefaultPreferences = (SharedPreferences) Context.class.getDeclaredMethod("getSharedPreferences", File.class, int.class).invoke(context, new File("/system/etc/microg.xml"), Context.MODE_PRIVATE); } catch (Exception ignored) { } update(); } } private boolean getSettingsBoolean(String key, boolean def) { if (systemDefaultPreferences != null) { def = systemDefaultPreferences.getBoolean(key, def); } return preferences.getBoolean(key, def); } private void update() { checkinEnabled = preferences.getBoolean(PREF_ENABLE_CHECKIN, false); checkinEnabled = getSettingsBoolean(PREF_ENABLE_CHECKIN, false); } @Override Loading
play-services-core/src/main/java/org/microg/gms/checkin/LastCheckinInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,6 @@ public class LastCheckinInfo { .putLong(PREF_SECURITY_TOKEN, securityToken) .putString(PREF_VERSION_INFO, versionInfo) .putString(PREF_DEVICE_DATA_VERSION_INFO, deviceDataVersionInfo) .apply(); .commit(); } }
play-services-core/src/main/java/org/microg/gms/gcm/GcmDatabase.java +4 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Build; import android.text.TextUtils; import java.util.ArrayList; Loading Loading @@ -65,6 +66,9 @@ public class GcmDatabase extends SQLiteOpenHelper { public GcmDatabase(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; if (Build.VERSION.SDK_INT >= 16) { this.setWriteAheadLoggingEnabled(true); } } public static class App { Loading
play-services-core/src/main/java/org/microg/gms/gcm/GcmPrefs.java +36 −17 Original line number Diff line number Diff line Loading @@ -24,6 +24,9 @@ import android.net.NetworkInfo; import android.preference.PreferenceManager; import android.util.Log; import org.microg.gms.common.PackageUtils; import java.io.File; import java.util.Arrays; import java.util.Collections; import java.util.List; Loading @@ -50,6 +53,9 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe public static GcmPrefs get(Context context) { if (INSTANCE == null) { if (!context.getPackageName().equals(PackageUtils.getProcessName())) { Log.w("Preferences", GcmPrefs.class.getName() + " initialized outside main process", new RuntimeException()); } if (context == null) return new GcmPrefs(null); INSTANCE = new GcmPrefs(context.getApplicationContext()); } Loading @@ -70,30 +76,43 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe private int learntMobile = 300000; private int learntOther = 300000; private SharedPreferences defaultPreferences; private SharedPreferences preferences; private SharedPreferences systemDefaultPreferences; private GcmPrefs(Context context) { if (context != null) { defaultPreferences = PreferenceManager.getDefaultSharedPreferences(context); defaultPreferences.registerOnSharedPreferenceChangeListener(this); preferences = PreferenceManager.getDefaultSharedPreferences(context); preferences.registerOnSharedPreferenceChangeListener(this); try { systemDefaultPreferences = (SharedPreferences) Context.class.getDeclaredMethod("getSharedPreferences", File.class, int.class).invoke(context, new File("/system/etc/microg.xml"), Context.MODE_PRIVATE); } catch (Exception ignored) { } update(); } } private boolean getSettingsBoolean(String key, boolean def) { if (systemDefaultPreferences != null) { def = systemDefaultPreferences.getBoolean(key, def); } return preferences.getBoolean(key, def); } public void update() { gcmLogEnabled = defaultPreferences.getBoolean(PREF_FULL_LOG, true); lastPersistedId = defaultPreferences.getString(PREF_LAST_PERSISTENT_ID, ""); confirmNewApps = defaultPreferences.getBoolean(PREF_CONFIRM_NEW_APPS, false); gcmEnabled = defaultPreferences.getBoolean(PREF_ENABLE_GCM, false); gcmEnabled = getSettingsBoolean(PREF_ENABLE_GCM, false); gcmLogEnabled = getSettingsBoolean(PREF_FULL_LOG, true); confirmNewApps = getSettingsBoolean(PREF_CONFIRM_NEW_APPS, false); lastPersistedId = preferences.getString(PREF_LAST_PERSISTENT_ID, ""); networkMobile = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_MOBILE, "0")); networkWifi = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_WIFI, "0")); networkRoaming = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_ROAMING, "0")); networkOther = Integer.parseInt(defaultPreferences.getString(PREF_NETWORK_OTHER, "0")); networkMobile = Integer.parseInt(preferences.getString(PREF_NETWORK_MOBILE, "0")); networkWifi = Integer.parseInt(preferences.getString(PREF_NETWORK_WIFI, "0")); networkRoaming = Integer.parseInt(preferences.getString(PREF_NETWORK_ROAMING, "0")); networkOther = Integer.parseInt(preferences.getString(PREF_NETWORK_OTHER, "0")); learntMobile = defaultPreferences.getInt(PREF_LEARNT_MOBILE, 300000); learntWifi = defaultPreferences.getInt(PREF_LEARNT_WIFI, 300000); learntOther = defaultPreferences.getInt(PREF_LEARNT_OTHER, 300000); learntMobile = preferences.getInt(PREF_LEARNT_MOBILE, 300000); learntWifi = preferences.getInt(PREF_LEARNT_WIFI, 300000); learntOther = preferences.getInt(PREF_LEARNT_OTHER, 300000); } public String getNetworkPrefForInfo(NetworkInfo info) { Loading Loading @@ -182,7 +201,7 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe learntMobile = Math.max(MIN_INTERVAL, Math.min(learntMobile, MAX_INTERVAL)); learntWifi = Math.max(MIN_INTERVAL, Math.min(learntWifi, MAX_INTERVAL)); learntOther = Math.max(MIN_INTERVAL, Math.min(learntOther, MAX_INTERVAL)); defaultPreferences.edit().putInt(PREF_LEARNT_MOBILE, learntMobile).putInt(PREF_LEARNT_WIFI, learntWifi).putInt(PREF_LEARNT_OTHER, learntOther).apply(); preferences.edit().putInt(PREF_LEARNT_MOBILE, learntMobile).putInt(PREF_LEARNT_WIFI, learntWifi).putInt(PREF_LEARNT_OTHER, learntOther).apply(); } @Override Loading Loading @@ -223,11 +242,11 @@ public class GcmPrefs implements SharedPreferences.OnSharedPreferenceChangeListe public void extendLastPersistedId(String id) { if (!lastPersistedId.isEmpty()) lastPersistedId += "|"; lastPersistedId += id; defaultPreferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); preferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); } public void clearLastPersistedId() { lastPersistedId = ""; defaultPreferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); preferences.edit().putString(PREF_LAST_PERSISTENT_ID, lastPersistedId).apply(); } }