Merge "Override 2 getSliceUri() instance to return platform slice" am: f116c5fae7

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1394548

Change-Id: I92dbf184a274d3a22ad597bff0b24d2c44218266
This commit is contained in:
Bonian Chen
2020-08-11 08:26:23 +00:00
committed by Automerger Merge Worker
8 changed files with 51 additions and 19 deletions

View File

@@ -37,8 +37,7 @@
android:fragment="com.android.settings.fuelgauge.batterysaver.BatterySaverSettings" android:fragment="com.android.settings.fuelgauge.batterysaver.BatterySaverSettings"
android:key="battery_saver_summary" android:key="battery_saver_summary"
android:title="@string/battery_saver" android:title="@string/battery_saver"
settings:controller="com.android.settings.fuelgauge.BatterySaverController" settings:controller="com.android.settings.fuelgauge.BatterySaverController" />
settings:platform_slice="true" />
<Preference <Preference
android:fragment="com.android.settings.fuelgauge.SmartBatterySettings" android:fragment="com.android.settings.fuelgauge.SmartBatterySettings"

View File

@@ -16,8 +16,11 @@
package com.android.settings.fuelgauge.batterysaver; package com.android.settings.fuelgauge.batterysaver;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.net.Uri;
import android.os.PowerManager; import android.os.PowerManager;
import android.provider.SettingsSlicesContract;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -38,6 +41,7 @@ public class BatterySaverButtonPreferenceController extends
LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener { LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener {
private final BatterySaverReceiver mBatterySaverReceiver; private final BatterySaverReceiver mBatterySaverReceiver;
private final PowerManager mPowerManager; private final PowerManager mPowerManager;
private TwoStateButtonPreference mPreference; private TwoStateButtonPreference mPreference;
@@ -59,6 +63,15 @@ public class BatterySaverButtonPreferenceController extends
return true; return true;
} }
public Uri getSliceUri() {
return new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsSlicesContract.AUTHORITY)
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
.appendPath(SettingsSlicesContract.KEY_BATTERY_SAVER)
.build();
}
@Override @Override
public void onStart() { public void onStart() {
mBatterySaverReceiver.setListening(true); mBatterySaverReceiver.setListening(true);

View File

@@ -17,9 +17,13 @@ package com.android.settings.network;
import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE; import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.SystemProperties;
import android.provider.SettingsSlicesContract;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -40,6 +44,15 @@ public class AirplaneModePreferenceController extends TogglePreferenceController
public static final int REQUEST_CODE_EXIT_ECM = 1; public static final int REQUEST_CODE_EXIT_ECM = 1;
/**
* Uri for Airplane mode Slice.
*/
public static final Uri SLICE_URI = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsSlicesContract.AUTHORITY)
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
.appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE)
.build();
private static final String EXIT_ECM_RESULT = "exit_ecm_result"; private static final String EXIT_ECM_RESULT = "exit_ecm_result";
private Fragment mFragment; private Fragment mFragment;
@@ -74,6 +87,10 @@ public class AirplaneModePreferenceController extends TogglePreferenceController
return false; return false;
} }
public Uri getSliceUri() {
return SLICE_URI;
}
@Override @Override
public void displayPreference(PreferenceScreen screen) { public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen); super.displayPreference(screen);

View File

@@ -23,6 +23,7 @@ import android.net.Uri;
import android.provider.Settings; import android.provider.Settings;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.network.AirplaneModePreferenceController;
import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceRegistry;
import java.util.ArrayList; import java.util.ArrayList;
@@ -57,7 +58,7 @@ public class InternetConnectivityPanel implements PanelContent {
final List<Uri> uris = new ArrayList<>(); final List<Uri> uris = new ArrayList<>();
uris.add(CustomSliceRegistry.WIFI_SLICE_URI); uris.add(CustomSliceRegistry.WIFI_SLICE_URI);
uris.add(CustomSliceRegistry.MOBILE_DATA_SLICE_URI); uris.add(CustomSliceRegistry.MOBILE_DATA_SLICE_URI);
uris.add(CustomSliceRegistry.AIRPLANE_URI); uris.add(AirplaneModePreferenceController.SLICE_URI);
return uris; return uris;
} }

View File

@@ -59,17 +59,7 @@ import java.util.Map;
public class CustomSliceRegistry { public class CustomSliceRegistry {
/** /**
* Uri for Airplane mode Slice. * Uri for Contextual Adaptive Sleep Slice
*/
public static final Uri AIRPLANE_URI = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsSlicesContract.AUTHORITY)
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
.appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE)
.build();
/**
* Uri for Contextual Adaptive Sleep Slice
*/ */
public static final Uri CONTEXTUAL_ADAPTIVE_SLEEP_URI = new Uri.Builder() public static final Uri CONTEXTUAL_ADAPTIVE_SLEEP_URI = new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT) .scheme(ContentResolver.SCHEME_CONTENT)

View File

@@ -26,6 +26,7 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.PowerManager; import android.os.PowerManager;
import android.provider.SettingsSlicesContract;
import android.widget.Button; import android.widget.Button;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -72,6 +73,12 @@ public class BatterySaverButtonPreferenceControllerTest {
mController.displayPreference(mPreferenceScreen); mController.displayPreference(mPreferenceScreen);
} }
@Test
public void getSliceUri_shouldUsePlatformAuthority() {
assertThat(mController.getSliceUri().getAuthority())
.isEqualTo(SettingsSlicesContract.AUTHORITY);
}
@Test @Test
public void updateState_lowPowerOn_preferenceIsChecked() { public void updateState_lowPowerOn_preferenceIsChecked() {
when(mPowerManager.isPowerSaveMode()).thenReturn(true); when(mPowerManager.isPowerSaveMode()).thenReturn(true);

View File

@@ -86,6 +86,12 @@ public class AirplaneModePreferenceControllerTest {
mLifecycle.addObserver(mController); mLifecycle.addObserver(mController);
} }
@Test
public void getSliceUri_shouldUsePlatformAuthority() {
assertThat(mController.getSliceUri().getAuthority())
.isEqualTo(SettingsSlicesContract.AUTHORITY);
}
@Test @Test
@Config(qualifiers = "mcc999") @Config(qualifiers = "mcc999")
public void airplaneModePreference_shouldNotBeAvailable_ifSetToNotVisible() { public void airplaneModePreference_shouldNotBeAvailable_ifSetToNotVisible() {
@@ -184,9 +190,7 @@ public class AirplaneModePreferenceControllerTest {
} }
@Test @Test
public void isSliceableCorrectKey_returnsTrue() { public void isSliceable_returnsTrue() {
final AirplaneModePreferenceController controller = assertThat(mController.isSliceable()).isTrue();
new AirplaneModePreferenceController(mContext,"toggle_airplane");
assertThat(controller.isSliceable()).isTrue();
} }
} }

View File

@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import android.net.Uri; import android.net.Uri;
import com.android.settings.network.AirplaneModePreferenceController;
import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.CustomSliceRegistry;
import org.junit.Before; import org.junit.Before;
@@ -47,7 +48,7 @@ public class InternetConnectivityPanelTest {
final List<Uri> uris = mPanel.getSlices(); final List<Uri> uris = mPanel.getSlices();
assertThat(uris).containsExactly( assertThat(uris).containsExactly(
CustomSliceRegistry.AIRPLANE_URI, AirplaneModePreferenceController.SLICE_URI,
CustomSliceRegistry.MOBILE_DATA_SLICE_URI, CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
CustomSliceRegistry.WIFI_SLICE_URI); CustomSliceRegistry.WIFI_SLICE_URI);
} }