Add highlight menu keys for all toggle pref controllers and custom slices

Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
This commit is contained in:
Jason Chiu
2021-11-01 00:38:49 +08:00
parent 594eb43159
commit 2989c50a23
104 changed files with 599 additions and 37 deletions

View File

@@ -33,6 +33,7 @@ import android.net.Uri;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.drawable.IconCompat;
@@ -44,6 +45,8 @@ import com.android.settings.R;
import com.android.settings.SubSettings;
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.NetworkProviderSettings;
import com.android.settings.network.WifiSwitchPreferenceController;
import com.android.settings.slices.CustomSliceable;
import com.android.settings.slices.SliceBackgroundWorker;
import com.android.settings.slices.SliceBuilderUtils;
@@ -269,15 +272,28 @@ public class WifiSlice implements CustomSliceable {
public Intent getIntent() {
final String screenTitle = mContext.getText(R.string.wifi_settings).toString();
final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build();
final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
WifiSettings.class.getName(), KEY_WIFI, screenTitle,
SettingsEnums.DIALOG_WIFI_AP_EDIT)
final String className;
final String key;
if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
className = NetworkProviderSettings.class.getName();
key = WifiSwitchPreferenceController.KEY;
} else {
className = WifiSettings.class.getName();
key = KEY_WIFI;
}
final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext, className,
key, screenTitle, SettingsEnums.DIALOG_WIFI_AP_EDIT, this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
return intent;
}
@Override
public int getSliceHighlightMenuRes() {
return R.string.menu_key_network;
}
private boolean isWifiEnabled() {
switch (mWifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_ENABLED: