Loading services/java/com/android/server/LocationManagerService.java +1 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run * @param userId the new active user's UserId */ private void switchUser(int userId) { mBlacklist.switchUser(userId); //Log.d("LocationManagerService", "switchUser(" + mCurrentUserId + " -> " + userId + ")"); // TODO: remove this synchronized (mLock) { // TODO: inform previous user's Receivers that they will no longer receive updates Loading services/java/com/android/server/location/LocationBlacklist.java +26 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package com.android.server.location; import android.content.Context; import android.database.ContentObserver; import android.os.Handler; import android.os.UserHandle; import android.provider.Settings; import android.util.Log; import android.util.Slog; Loading Loading @@ -49,6 +50,8 @@ public final class LocationBlacklist extends ContentObserver { private String[] mWhitelist = new String[0]; private String[] mBlacklist = new String[0]; private int mCurrentUserId = UserHandle.USER_OWNER; public LocationBlacklist(Context context, Handler handler) { super(handler); mContext = context; Loading @@ -56,21 +59,23 @@ public final class LocationBlacklist extends ContentObserver { public void init() { mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor( BLACKLIST_CONFIG_NAME), false, this); BLACKLIST_CONFIG_NAME), false, this, UserHandle.USER_ALL); // mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor( // WHITELIST_CONFIG_NAME), false, this); // WHITELIST_CONFIG_NAME), false, this, UserHandle.USER_ALL); reloadBlacklist(); } private void reloadBlacklist() { String blacklist[] = getStringArray(BLACKLIST_CONFIG_NAME); String whitelist[] = getStringArray(WHITELIST_CONFIG_NAME); synchronized (mLock) { mWhitelist = whitelist; private void reloadBlacklistLocked() { mWhitelist = getStringArrayLocked(WHITELIST_CONFIG_NAME); Slog.i(TAG, "whitelist: " + Arrays.toString(mWhitelist)); mBlacklist = blacklist; mBlacklist = getStringArrayLocked(BLACKLIST_CONFIG_NAME); Slog.i(TAG, "blacklist: " + Arrays.toString(mBlacklist)); } private void reloadBlacklist() { synchronized (mLock) { reloadBlacklistLocked(); } } /** Loading @@ -78,7 +83,6 @@ public final class LocationBlacklist extends ContentObserver { * (package name matches blacklist, and does not match whitelist) */ public boolean isBlacklisted(String packageName) { /* synchronized (mLock) { for (String black : mBlacklist) { if (packageName.startsWith(black)) { Loading @@ -92,7 +96,6 @@ public final class LocationBlacklist extends ContentObserver { } } } */ return false; } Loading @@ -113,8 +116,19 @@ public final class LocationBlacklist extends ContentObserver { reloadBlacklist(); } private String[] getStringArray(String key) { String flatString = Settings.Secure.getString(mContext.getContentResolver(), key); public void switchUser(int userId) { synchronized(mLock) { mCurrentUserId = userId; reloadBlacklistLocked(); } } private String[] getStringArrayLocked(String key) { String flatString; synchronized(mLock) { flatString = Settings.Secure.getStringForUser(mContext.getContentResolver(), key, mCurrentUserId); } if (flatString == null) { return new String[0]; } Loading Loading
services/java/com/android/server/LocationManagerService.java +1 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Run * @param userId the new active user's UserId */ private void switchUser(int userId) { mBlacklist.switchUser(userId); //Log.d("LocationManagerService", "switchUser(" + mCurrentUserId + " -> " + userId + ")"); // TODO: remove this synchronized (mLock) { // TODO: inform previous user's Receivers that they will no longer receive updates Loading
services/java/com/android/server/location/LocationBlacklist.java +26 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ package com.android.server.location; import android.content.Context; import android.database.ContentObserver; import android.os.Handler; import android.os.UserHandle; import android.provider.Settings; import android.util.Log; import android.util.Slog; Loading Loading @@ -49,6 +50,8 @@ public final class LocationBlacklist extends ContentObserver { private String[] mWhitelist = new String[0]; private String[] mBlacklist = new String[0]; private int mCurrentUserId = UserHandle.USER_OWNER; public LocationBlacklist(Context context, Handler handler) { super(handler); mContext = context; Loading @@ -56,21 +59,23 @@ public final class LocationBlacklist extends ContentObserver { public void init() { mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor( BLACKLIST_CONFIG_NAME), false, this); BLACKLIST_CONFIG_NAME), false, this, UserHandle.USER_ALL); // mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor( // WHITELIST_CONFIG_NAME), false, this); // WHITELIST_CONFIG_NAME), false, this, UserHandle.USER_ALL); reloadBlacklist(); } private void reloadBlacklist() { String blacklist[] = getStringArray(BLACKLIST_CONFIG_NAME); String whitelist[] = getStringArray(WHITELIST_CONFIG_NAME); synchronized (mLock) { mWhitelist = whitelist; private void reloadBlacklistLocked() { mWhitelist = getStringArrayLocked(WHITELIST_CONFIG_NAME); Slog.i(TAG, "whitelist: " + Arrays.toString(mWhitelist)); mBlacklist = blacklist; mBlacklist = getStringArrayLocked(BLACKLIST_CONFIG_NAME); Slog.i(TAG, "blacklist: " + Arrays.toString(mBlacklist)); } private void reloadBlacklist() { synchronized (mLock) { reloadBlacklistLocked(); } } /** Loading @@ -78,7 +83,6 @@ public final class LocationBlacklist extends ContentObserver { * (package name matches blacklist, and does not match whitelist) */ public boolean isBlacklisted(String packageName) { /* synchronized (mLock) { for (String black : mBlacklist) { if (packageName.startsWith(black)) { Loading @@ -92,7 +96,6 @@ public final class LocationBlacklist extends ContentObserver { } } } */ return false; } Loading @@ -113,8 +116,19 @@ public final class LocationBlacklist extends ContentObserver { reloadBlacklist(); } private String[] getStringArray(String key) { String flatString = Settings.Secure.getString(mContext.getContentResolver(), key); public void switchUser(int userId) { synchronized(mLock) { mCurrentUserId = userId; reloadBlacklistLocked(); } } private String[] getStringArrayLocked(String key) { String flatString; synchronized(mLock) { flatString = Settings.Secure.getStringForUser(mContext.getContentResolver(), key, mCurrentUserId); } if (flatString == null) { return new String[0]; } Loading