Loading api/test-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,10 @@ package android.provider { field public static final java.lang.String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS"; } public static final class Settings.Global extends android.provider.Settings.NameValueTable { field public static final java.lang.String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package"; } public static final class Settings.Secure extends android.provider.Settings.NameValueTable { field public static final java.lang.String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled"; field public static final java.lang.String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification"; Loading core/java/android/content/pm/PackageManagerInternal.java +14 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,12 @@ public abstract class PackageManagerInternal { */ public abstract void setSimCallManagerPackagesProvider(PackagesProvider provider); /** * Sets the Use Open Wifi packages provider. * @param provider The packages provider. */ public abstract void setUseOpenWifiAppPackagesProvider(PackagesProvider provider); /** * Sets the sync adapter packages provider. * @param provider The provider. Loading Loading @@ -146,6 +152,14 @@ public abstract class PackageManagerInternal { public abstract void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId); /** * Requests granting of the default permissions to the current default Use Open Wifi app. * @param packageName The default use open wifi package name. * @param userId The user for which to grant the permissions. */ public abstract void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId); /** * Sets a list of apps to keep in PM's internal data structures and as APKs even if no user has * currently installed it. The apps are not preloaded. Loading core/java/android/provider/Settings.java +1 −0 Original line number Diff line number Diff line Loading @@ -8790,6 +8790,7 @@ public final class Settings { * Type: string package name or null if the feature is either not provided or disabled. * @hide */ @TestApi public static final String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package"; /** Loading services/core/java/com/android/server/NetworkScoreService.java +41 −4 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.database.ContentObserver; import android.location.LocationManager; import android.net.INetworkRecommendationProvider; Loading @@ -50,14 +51,17 @@ import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings.Global; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.IntArray; import android.util.Log; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.os.TransferPipe; import com.android.internal.telephony.SmsApplication; import com.android.internal.util.DumpUtils; import java.io.FileDescriptor; Loading Loading @@ -91,7 +95,8 @@ public class NetworkScoreService extends INetworkScoreService.Stub { private final Object mPackageMonitorLock = new Object(); private final Object mServiceConnectionLock = new Object(); private final Handler mHandler; private final DispatchingContentObserver mContentObserver; private final DispatchingContentObserver mRecommendationSettingsObserver; private final ContentObserver mUseOpenWifiPackageObserver; private final Function<NetworkScorerAppData, ScoringServiceConnection> mServiceConnProducer; @GuardedBy("mPackageMonitorLock") Loading Loading @@ -255,8 +260,40 @@ public class NetworkScoreService extends INetworkScoreService.Stub { mContext.registerReceiverAsUser( mLocationModeReceiver, UserHandle.SYSTEM, locationModeFilter, null /* broadcastPermission*/, mHandler); mContentObserver = new DispatchingContentObserver(context, mHandler); mRecommendationSettingsObserver = new DispatchingContentObserver(context, mHandler); mServiceConnProducer = serviceConnProducer; mUseOpenWifiPackageObserver = new ContentObserver(mHandler) { @Override public void onChange(boolean selfChange, Uri uri, int userId) { Uri useOpenWifiPkgUri = Global.getUriFor(Global.USE_OPEN_WIFI_PACKAGE); if (useOpenWifiPkgUri.equals(uri)) { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { LocalServices.getService(PackageManagerInternal.class) .grantDefaultPermissionsToDefaultUseOpenWifiApp(useOpenWifiPackage, userId); } } } }; mContext.getContentResolver().registerContentObserver( Global.getUriFor(Global.USE_OPEN_WIFI_PACKAGE), false /*notifyForDescendants*/, mUseOpenWifiPackageObserver); // Set a callback for the package manager to query the use open wifi app. LocalServices.getService(PackageManagerInternal.class).setUseOpenWifiAppPackagesProvider( new PackageManagerInternal.PackagesProvider() { @Override public String[] getPackages(int userId) { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { return new String[]{useOpenWifiPackage}; } return null; } }); } /** Called when the system is ready to run third-party code but before it actually does so. */ Loading Loading @@ -287,11 +324,11 @@ public class NetworkScoreService extends INetworkScoreService.Stub { private void registerRecommendationSettingsObserver() { final Uri packageNameUri = Global.getUriFor(Global.NETWORK_RECOMMENDATIONS_PACKAGE); mContentObserver.observe(packageNameUri, mRecommendationSettingsObserver.observe(packageNameUri, ServiceHandler.MSG_RECOMMENDATIONS_PACKAGE_CHANGED); final Uri settingUri = Global.getUriFor(Global.NETWORK_RECOMMENDATIONS_ENABLED); mContentObserver.observe(settingUri, mRecommendationSettingsObserver.observe(settingUri, ServiceHandler.MSG_RECOMMENDATION_ENABLED_SETTING_CHANGED); } Loading services/core/java/com/android/server/pm/PackageManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -23048,6 +23048,11 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); mDefaultPermissionPolicy.setSimCallManagerPackagesProvider(provider); } @Override public void setUseOpenWifiAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setUseOpenWifiAppPackagesProvider(provider); } @Override public void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider) { mDefaultPermissionPolicy.setSyncAdapterPackagesProvider(provider); Loading @@ -23072,6 +23077,12 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); packageName, userId); } @Override public void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultUseOpenWifiApp( packageName, userId); } @Override public void setKeepUninstalledPackages(final List<String> packageList) { Preconditions.checkNotNull(packageList); Loading
api/test-current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,10 @@ package android.provider { field public static final java.lang.String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS"; } public static final class Settings.Global extends android.provider.Settings.NameValueTable { field public static final java.lang.String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package"; } public static final class Settings.Secure extends android.provider.Settings.NameValueTable { field public static final java.lang.String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled"; field public static final java.lang.String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification"; Loading
core/java/android/content/pm/PackageManagerInternal.java +14 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,12 @@ public abstract class PackageManagerInternal { */ public abstract void setSimCallManagerPackagesProvider(PackagesProvider provider); /** * Sets the Use Open Wifi packages provider. * @param provider The packages provider. */ public abstract void setUseOpenWifiAppPackagesProvider(PackagesProvider provider); /** * Sets the sync adapter packages provider. * @param provider The provider. Loading Loading @@ -146,6 +152,14 @@ public abstract class PackageManagerInternal { public abstract void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId); /** * Requests granting of the default permissions to the current default Use Open Wifi app. * @param packageName The default use open wifi package name. * @param userId The user for which to grant the permissions. */ public abstract void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId); /** * Sets a list of apps to keep in PM's internal data structures and as APKs even if no user has * currently installed it. The apps are not preloaded. Loading
core/java/android/provider/Settings.java +1 −0 Original line number Diff line number Diff line Loading @@ -8790,6 +8790,7 @@ public final class Settings { * Type: string package name or null if the feature is either not provided or disabled. * @hide */ @TestApi public static final String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package"; /** Loading
services/core/java/com/android/server/NetworkScoreService.java +41 −4 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.database.ContentObserver; import android.location.LocationManager; import android.net.INetworkRecommendationProvider; Loading @@ -50,14 +51,17 @@ import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings.Global; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArraySet; import android.util.IntArray; import android.util.Log; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.os.TransferPipe; import com.android.internal.telephony.SmsApplication; import com.android.internal.util.DumpUtils; import java.io.FileDescriptor; Loading Loading @@ -91,7 +95,8 @@ public class NetworkScoreService extends INetworkScoreService.Stub { private final Object mPackageMonitorLock = new Object(); private final Object mServiceConnectionLock = new Object(); private final Handler mHandler; private final DispatchingContentObserver mContentObserver; private final DispatchingContentObserver mRecommendationSettingsObserver; private final ContentObserver mUseOpenWifiPackageObserver; private final Function<NetworkScorerAppData, ScoringServiceConnection> mServiceConnProducer; @GuardedBy("mPackageMonitorLock") Loading Loading @@ -255,8 +260,40 @@ public class NetworkScoreService extends INetworkScoreService.Stub { mContext.registerReceiverAsUser( mLocationModeReceiver, UserHandle.SYSTEM, locationModeFilter, null /* broadcastPermission*/, mHandler); mContentObserver = new DispatchingContentObserver(context, mHandler); mRecommendationSettingsObserver = new DispatchingContentObserver(context, mHandler); mServiceConnProducer = serviceConnProducer; mUseOpenWifiPackageObserver = new ContentObserver(mHandler) { @Override public void onChange(boolean selfChange, Uri uri, int userId) { Uri useOpenWifiPkgUri = Global.getUriFor(Global.USE_OPEN_WIFI_PACKAGE); if (useOpenWifiPkgUri.equals(uri)) { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { LocalServices.getService(PackageManagerInternal.class) .grantDefaultPermissionsToDefaultUseOpenWifiApp(useOpenWifiPackage, userId); } } } }; mContext.getContentResolver().registerContentObserver( Global.getUriFor(Global.USE_OPEN_WIFI_PACKAGE), false /*notifyForDescendants*/, mUseOpenWifiPackageObserver); // Set a callback for the package manager to query the use open wifi app. LocalServices.getService(PackageManagerInternal.class).setUseOpenWifiAppPackagesProvider( new PackageManagerInternal.PackagesProvider() { @Override public String[] getPackages(int userId) { String useOpenWifiPackage = Global.getString(mContext.getContentResolver(), Global.USE_OPEN_WIFI_PACKAGE); if (!TextUtils.isEmpty(useOpenWifiPackage)) { return new String[]{useOpenWifiPackage}; } return null; } }); } /** Called when the system is ready to run third-party code but before it actually does so. */ Loading Loading @@ -287,11 +324,11 @@ public class NetworkScoreService extends INetworkScoreService.Stub { private void registerRecommendationSettingsObserver() { final Uri packageNameUri = Global.getUriFor(Global.NETWORK_RECOMMENDATIONS_PACKAGE); mContentObserver.observe(packageNameUri, mRecommendationSettingsObserver.observe(packageNameUri, ServiceHandler.MSG_RECOMMENDATIONS_PACKAGE_CHANGED); final Uri settingUri = Global.getUriFor(Global.NETWORK_RECOMMENDATIONS_ENABLED); mContentObserver.observe(settingUri, mRecommendationSettingsObserver.observe(settingUri, ServiceHandler.MSG_RECOMMENDATION_ENABLED_SETTING_CHANGED); } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +11 −0 Original line number Diff line number Diff line Loading @@ -23048,6 +23048,11 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); mDefaultPermissionPolicy.setSimCallManagerPackagesProvider(provider); } @Override public void setUseOpenWifiAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setUseOpenWifiAppPackagesProvider(provider); } @Override public void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider) { mDefaultPermissionPolicy.setSyncAdapterPackagesProvider(provider); Loading @@ -23072,6 +23077,12 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); packageName, userId); } @Override public void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultUseOpenWifiApp( packageName, userId); } @Override public void setKeepUninstalledPackages(final List<String> packageList) { Preconditions.checkNotNull(packageList);