Merge "Rephrase the see more button of Internet panel when ProviderModel is enabled"

This commit is contained in:
SongFerng Wang
2021-01-12 12:13:40 +00:00
committed by Android (Google) Code Review
3 changed files with 41 additions and 7 deletions

View File

@@ -34,10 +34,6 @@ import java.util.List;
/**
* Represents the Internet Connectivity Panel.
*
* <p>
* Displays Wifi (full Slice) and Airplane mode.
* </p>
*/
public class InternetConnectivityPanel implements PanelContent {
@@ -78,6 +74,21 @@ public class InternetConnectivityPanel implements PanelContent {
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
@Override
public boolean isCustomizedButtonUsed() {
return Utils.isProviderModelEnabled(mContext);
}
@Override
public CharSequence getCustomizedButtonTitle() {
return mContext.getText(R.string.settings_button);
}
@Override
public void onClickCustomizedButton() {
mContext.startActivity(getSeeMoreIntent());
}
@Override
public int getMetricsCategory() {
return SettingsEnums.PANEL_INTERNET_CONNECTIVITY;

View File

@@ -452,13 +452,13 @@ public class PanelFragment extends Fragment {
View.OnClickListener getSeeMoreListener() {
return (v) -> {
mPanelClosedKey = PanelClosedKeys.KEY_SEE_MORE;
final FragmentActivity activity = getActivity();
if (mPanel.isCustomizedButtonUsed()) {
mPanel.onClickCustomizedButton();
} else {
final FragmentActivity activity = getActivity();
activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0);
activity.finish();
}
activity.finish();
};
}

View File

@@ -20,10 +20,12 @@ package com.android.settings.panel;
import static com.google.common.truth.Truth.assertThat;
import android.net.Uri;
import android.os.SystemProperties;
import com.android.settings.network.AirplaneModePreferenceController;
import com.android.settings.slices.CustomSliceRegistry;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,14 +39,25 @@ import java.util.List;
public class InternetConnectivityPanelTest {
private InternetConnectivityPanel mPanel;
private static final String SETTINGS_PROVIDER_MODEL =
"persist.sys.fflag.override.settings_provider_model";
private boolean mSettingsProviderModelState;
@Before
public void setUp() {
mPanel = InternetConnectivityPanel.create(RuntimeEnvironment.application);
mSettingsProviderModelState = SystemProperties.getBoolean(SETTINGS_PROVIDER_MODEL, false);
}
@After
public void tearDown() {
SystemProperties.set(SETTINGS_PROVIDER_MODEL,
mSettingsProviderModelState ? "true" : "false");
}
@Test
public void getSlices_containsNecessarySlices() {
public void getSlices_providerModelDisabled_containsNecessarySlices() {
SystemProperties.set(SETTINGS_PROVIDER_MODEL, "false");
final List<Uri> uris = mPanel.getSlices();
assertThat(uris).containsExactly(
@@ -53,6 +66,16 @@ public class InternetConnectivityPanelTest {
CustomSliceRegistry.WIFI_SLICE_URI);
}
@Test
public void getSlices_providerModelEnabled_containsNecessarySlices() {
SystemProperties.set(SETTINGS_PROVIDER_MODEL, "true");
final List<Uri> uris = mPanel.getSlices();
assertThat(uris).containsExactly(
CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI,
CustomSliceRegistry.AIRPLANE_SAFE_NETWORKS_SLICE_URI);
}
@Test
public void getSeeMoreIntent_notNull() {
assertThat(mPanel.getSeeMoreIntent()).isNotNull();