Skip Wi-Fi hotspot in Settings Widgets
- Do not show Wi-Fi hotspots in Settings Widgets if the config is not set to show Bug: 275268676 Test: Manual test atest -c CreateShortcutPreferenceControllerTest Change-Id: I5d86a78c9d48c9b63faff50d46f1254dbefd94cf
This commit is contained in:
@@ -46,10 +46,12 @@ import androidx.preference.PreferenceGroup;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.Settings.TetherSettingsActivity;
|
||||
import com.android.settings.Settings.WifiTetherSettingsActivity;
|
||||
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.gestures.OneHandedSettingsUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.wifi.WifiUtils;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -192,6 +194,12 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (info.activityInfo.name.endsWith(WifiTetherSettingsActivity.class.getSimpleName())) {
|
||||
if (!canShowWifiHotspot()) {
|
||||
Log.d(TAG, "Skipping Wi-Fi hotspot settings:" + info.activityInfo);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (!info.activityInfo.applicationInfo.isSystemApp()) {
|
||||
Log.d(TAG, "Skipping non-system app: " + info.activityInfo);
|
||||
continue;
|
||||
@@ -202,6 +210,11 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
||||
return shortcuts;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
boolean canShowWifiHotspot() {
|
||||
return WifiUtils.canShowWifiHotspot(mContext);
|
||||
}
|
||||
|
||||
private void logCreateShortcut(ResolveInfo info) {
|
||||
if (info == null || info.activityInfo == null) {
|
||||
return;
|
||||
|
Reference in New Issue
Block a user