Disable app-link preferences for browser apps
Also make sure that the 'Clear defaults' action unsets the app's standing as the default browser, when applicable. Bug 23751034 Change-Id: I6131b763bfa76ba38d18cad2abbb35caffe789aa
This commit is contained in:
@@ -93,9 +93,13 @@ public class ClearDefaultsPreference extends Preference {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mUsbManager != null) {
|
||||
final int userId = UserHandle.myUserId();
|
||||
mPm.clearPackagePreferredActivities(mPackageName);
|
||||
if (isDefaultBrowser(mPackageName)) {
|
||||
mPm.setDefaultBrowserPackageName(null, userId);
|
||||
}
|
||||
try {
|
||||
mUsbManager.clearDefaults(mPackageName, UserHandle.myUserId());
|
||||
mUsbManager.clearDefaults(mPackageName, userId);
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "mUsbManager.clearDefaults", e);
|
||||
}
|
||||
@@ -122,6 +126,7 @@ public class ClearDefaultsPreference extends Preference {
|
||||
|
||||
TextView autoLaunchView = (TextView) mRootView.findViewById(R.id.auto_launch);
|
||||
boolean autoLaunchEnabled = Utils.hasPreferredActivities(mPm, mPackageName)
|
||||
|| isDefaultBrowser(mPackageName)
|
||||
|| Utils.hasUsbDefaults(mUsbManager, mPackageName);
|
||||
if (!autoLaunchEnabled && !hasBindAppWidgetPermission) {
|
||||
resetLaunchDefaultsUi(autoLaunchView);
|
||||
@@ -165,6 +170,11 @@ public class ClearDefaultsPreference extends Preference {
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isDefaultBrowser(String packageName) {
|
||||
final String defaultBrowser = mPm.getDefaultBrowserPackageName(UserHandle.myUserId());
|
||||
return packageName.equals(defaultBrowser);
|
||||
}
|
||||
|
||||
private void resetLaunchDefaultsUi(TextView autoLaunchView) {
|
||||
autoLaunchView.setText(R.string.auto_launch_disable_text);
|
||||
// Disable clear activities button
|
||||
|
Reference in New Issue
Block a user