diff options
author | Amith Yamasani <yamasani@google.com> | 2013-06-11 11:04:44 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2013-06-11 11:16:10 -0700 |
commit | 394eaa21e71ed724c6846d284ee4dd6d66a7e844 (patch) | |
tree | 088aa416573b9a8193aa026c93a6184e62395140 /src/com/android/settings/CreateShortcut.java | |
parent | ee53d98c93e19f8a163fa1390c615bdccefbdbdd (diff) | |
download | packages_apps_Settings-394eaa21e71ed724c6846d284ee4dd6d66a7e844.zip packages_apps_Settings-394eaa21e71ed724c6846d284ee4dd6d66a7e844.tar.gz packages_apps_Settings-394eaa21e71ed724c6846d284ee4dd6d66a7e844.tar.bz2 |
Don't show tether settings in shortcut picker
On devices that don't have tethering options, don't allow user
to create a shortcut to the tether settings.
Bug: 6865610
Change-Id: I2ebbd6ef98391ef3fe74130570bd9b70108a2aa9
Diffstat (limited to 'src/com/android/settings/CreateShortcut.java')
-rw-r--r-- | src/com/android/settings/CreateShortcut.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/settings/CreateShortcut.java b/src/com/android/settings/CreateShortcut.java index 0312a4b..f71df1d 100644 --- a/src/com/android/settings/CreateShortcut.java +++ b/src/com/android/settings/CreateShortcut.java @@ -18,10 +18,15 @@ package com.android.settings; import android.app.LauncherActivity; import android.content.Intent; +import android.content.pm.ResolveInfo; import android.os.Bundle; import android.view.View; import android.widget.ListView; +import com.android.settings.Settings.TetherSettingsActivity; + +import java.util.List; + public class CreateShortcut extends LauncherActivity { @Override @@ -49,4 +54,22 @@ public class CreateShortcut extends LauncherActivity { protected boolean onEvaluateShowIcons() { return false; } + + /** + * Perform query on package manager for list items. The default + * implementation queries for activities. + */ + protected List<ResolveInfo> onQueryPackageManager(Intent queryIntent) { + List<ResolveInfo> activities = super.onQueryPackageManager(queryIntent); + if (activities == null) return null; + for (int i = activities.size() - 1; i >= 0; i--) { + ResolveInfo info = activities.get(i); + if (info.activityInfo.name.endsWith(TetherSettingsActivity.class.getSimpleName())) { + if (!TetherSettings.showInShortcuts(this)) { + activities.remove(i); + } + } + } + return activities; + } } |