Merge "Check config to decide if Smart Storage toggle should exist" into sc-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 56ada59..cb53a02 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1490,6 +1490,7 @@
<activity android:name=".applications.specialaccess.deviceadmin.DeviceAdminAdd"
android:label="@string/device_admin_add_title"
android:exported="true"
+ android:theme="@style/Theme.SubSettings"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.app.action.ADD_DEVICE_ADMIN" />
diff --git a/res/layout-land/confirm_lock_pattern.xml b/res/layout-land/confirm_lock_pattern.xml
index 1fd6824..1126052 100644
--- a/res/layout-land/confirm_lock_pattern.xml
+++ b/res/layout-land/confirm_lock_pattern.xml
@@ -48,13 +48,13 @@
android:src="@drawable/ic_enterprise" />
<TextView
- android:id="@+id/headerText"
+ android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
- android:id="@+id/sud_layout_description"
+ android:id="@+id/sud_layout_subtitle"
style="@style/SudDescription.Glif"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/res/layout-land/confirm_lock_pattern_normal.xml b/res/layout-land/confirm_lock_pattern_normal.xml
index 7a59894..2a9103f 100644
--- a/res/layout-land/confirm_lock_pattern_normal.xml
+++ b/res/layout-land/confirm_lock_pattern_normal.xml
@@ -48,14 +48,14 @@
android:src="@drawable/ic_lock" />
<TextView
- android:id="@+id/headerText"
+ android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
style="@style/SudDescription.Glif"
- android:id="@+id/sud_layout_description"
+ android:id="@+id/sud_layout_subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="?attr/sudMarginStart"
diff --git a/res/layout-land/udfps_enroll_enrolling_land.xml b/res/layout-land/udfps_enroll_enrolling_land.xml
new file mode 100644
index 0000000..7ccd396
--- /dev/null
+++ b/res/layout-land/udfps_enroll_enrolling_land.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/setup_wizard_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout="@layout/sud_glif_blank_template"
+ style="?attr/fingerprint_layout_theme">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:clipToPadding="false"
+ android:clipChildren="false">
+
+ <!-- Both texts are kept as separate text views so it doesn't jump around in portrait.
+ See layouts/fingerprint_enroll_enrolling_base.xml. -->
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:layout_marginStart="?attr/sudMarginStart"
+ android:layout_marginBottom="@dimen/sud_content_frame_padding_bottom"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:orientation="vertical">
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:fillViewport="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <ImageView
+ android:id="@+id/sud_layout_icon"
+ style="@style/SudGlifIcon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="?attr/sudGlifHeaderGravity"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp"
+ android:src="@drawable/ic_fingerprint_header" />
+
+ <TextView
+ android:id="@+id/suc_layout_title"
+ style="@style/SudGlifHeaderTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp" />
+
+ <TextView
+ style="@style/SudDescription.Glif"
+ android:id="@+id/sud_layout_subtitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <Space
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ </LinearLayout>
+
+ </ScrollView>
+
+ </LinearLayout>
+
+ </LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout-land/udfps_enroll_find_sensor_land.xml b/res/layout-land/udfps_enroll_find_sensor_land.xml
new file mode 100644
index 0000000..6335afb
--- /dev/null
+++ b/res/layout-land/udfps_enroll_find_sensor_land.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/setup_wizard_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout="@layout/sud_glif_blank_template"
+ style="?attr/fingerprint_layout_theme">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:clipToPadding="false"
+ android:clipChildren="false">
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:layout_marginStart="?attr/sudMarginStart"
+ android:layout_marginBottom="@dimen/sud_content_frame_padding_bottom"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:orientation="vertical">
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:fillViewport="true">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <ImageView
+ android:id="@+id/sud_layout_icon"
+ style="@style/SudGlifIcon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="?attr/sudGlifHeaderGravity"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp"
+ android:src="@drawable/ic_fingerprint_header" />
+
+ <TextView
+ android:id="@+id/suc_layout_title"
+ style="@style/SudGlifHeaderTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="0dp"
+ android:layout_marginEnd="0dp" />
+
+ <TextView
+ android:id="@+id/sud_layout_subtitle"
+ style="@style/SudDescription.Glif"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <Space
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ </LinearLayout>
+
+ </ScrollView>
+
+ </LinearLayout>
+
+ </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/confirm_lock_pattern_base.xml b/res/layout/confirm_lock_pattern_base.xml
index 895bb8a..bac2689 100644
--- a/res/layout/confirm_lock_pattern_base.xml
+++ b/res/layout/confirm_lock_pattern_base.xml
@@ -42,13 +42,13 @@
android:src="@drawable/ic_enterprise" />
<TextView
- android:id="@+id/headerText"
+ android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
- android:id="@+id/sud_layout_description"
+ android:id="@+id/sud_layout_subtitle"
style="@style/SudDescription.Glif"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/res/layout/confirm_lock_pattern_normal_base.xml b/res/layout/confirm_lock_pattern_normal_base.xml
index 7c1502d..29783dd 100644
--- a/res/layout/confirm_lock_pattern_normal_base.xml
+++ b/res/layout/confirm_lock_pattern_normal_base.xml
@@ -41,14 +41,14 @@
android:src="@drawable/ic_lock" />
<TextView
- android:id="@+id/headerText"
+ android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
style="@style/SudDescription.Glif"
- android:id="@+id/sud_layout_description"
+ android:id="@+id/sud_layout_subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="?attr/sudMarginStart"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e65806b..2e98ec5 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5843,6 +5843,8 @@
<string name="history_details_title">History details</string>
<!-- Preference title for advanced battery usage [CHAR LIMIT=40] -->
<string name="advanced_battery_preference_title">View battery usage</string>
+ <!-- Preference summary for advanced battery usage [CHAR LIMIT=40] -->
+ <string name="advanced_battery_preference_summary">View usage for past 24 hours</string>
<!-- Activity title for battery usage details for an app. or power consumer -->
<string name="battery_details_title">Battery usage</string>
@@ -5979,7 +5981,7 @@
<string name="battery_auto_restriction_summary">Detect when apps drain battery</string>
<!-- Summary for battery manager when it is on -->
- <string name="battery_manager_on" product="default">On / Detecting when apps drain battery</string>
+ <string name="battery_manager_summary">Detecting when apps drain battery</string>
<!-- Summary for battery manager when it is off -->
<string name="battery_manager_off">Off</string>
@@ -6245,6 +6247,9 @@
<!-- Battery saver: Label for preference to indicate there is a routine based schedule [CHAR_LIMIT=40] -->
<string name="battery_saver_auto_routine">Based on your routine</string>
+ <!-- Battery saver: Summary for preference to indicate there is a routine based schedule [CHAR_LIMIT=40] -->
+ <string name="battery_saver_pref_auto_routine_summary">Will turn on based on your routine</string>
+
<!-- Battery saver: Label for preference to indicate there is a percentage based schedule [CHAR_LIMIT=40] -->
<string name="battery_saver_auto_percentage">Based on percentage</string>
@@ -6612,7 +6617,7 @@
<!-- Message displayed to let the user know that some of the options are disabled by admin. [CHAR LIMIT=NONE] -->
<string name="admin_disabled_other_options">Other options are disabled by your admin</string>
- <string name="admin_more_details">More details</string>
+ <string name="admin_more_details">Learn more</string>
<string name="notification_log_title">Notification log</string>
<string name="notification_history_title">Notification history</string>
@@ -12804,6 +12809,12 @@
<!-- Power menu setting privacy no secure screen lock set [CHAR_LIMIT=NONE] -->
<string name="power_menu_privacy_not_secure">To use, first set a screen lock</string>
+ <!-- Power menu setting use long press power to invoke assistant. [CHAR_LIMIT=NONE] -->
+ <string name="power_menu_long_press_for_assist">Hold for Assistant</string>
+
+ <!-- Power menu setting use log press power to invoke assistant summary. [CHAR_LIMIT=NONE] -->
+ <string name="power_menu_long_press_for_assist_summary">Trigger the Assistant by holding the power button</string>
+
<!-- Device controls toggle name [CHAR LIMIT=60] -->
<string name="device_controls_setting_toggle">Show device controls</string>
diff --git a/res/xml/power_menu_settings.xml b/res/xml/power_menu_settings.xml
index c7fba71..bfe9c20 100644
--- a/res/xml/power_menu_settings.xml
+++ b/res/xml/power_menu_settings.xml
@@ -20,6 +20,13 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/power_menu_setting_name">
+ <SwitchPreference
+ android:key="gesture_power_menu_long_press_for_assist"
+ android:title="@string/power_menu_long_press_for_assist"
+ android:summary="@string/power_menu_long_press_for_assist_summary"
+ settings:controller="com.android.settings.gestures.LongPressPowerButtonPreferenceController"
+ />
+
<Preference
android:key="gesture_global_actions_panel_summary"
android:title="@string/cards_passes_sentence"
diff --git a/res/xml/smart_battery_detail.xml b/res/xml/smart_battery_detail.xml
index 2d36119..c2b3d1f 100644
--- a/res/xml/smart_battery_detail.xml
+++ b/res/xml/smart_battery_detail.xml
@@ -22,11 +22,6 @@
android:title="@string/smart_battery_manager_title"
settings:searchable="false">
- <com.android.settingslib.widget.MainSwitchPreference
- android:key="smart_battery"
- android:title="@string/adaptive_battery_main_switch_title"
- settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController"/>
-
<com.android.settings.widget.VideoPreference
android:key="auto_awesome_battery"
android:title="@string/summary_placeholder"
@@ -35,6 +30,13 @@
settings:controller="com.android.settings.widget.VideoPreferenceController"/>
<SwitchPreference
+ android:key="smart_battery"
+ android:title="@string/smart_battery_title"
+ android:summary="@string/smart_battery_summary"
+ settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController"
+ settings:allowDividerAbove="true"/>
+
+ <SwitchPreference
android:key="auto_restriction"
android:title="@string/battery_auto_restriction_title"
android:summary="@string/battery_auto_restriction_summary"
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 37194d9..d86f420 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -49,9 +49,9 @@
android:summary="@string/ethernet_tethering_subtext"
settings:keywords="@string/keywords_hotspot_tethering" />
- <Preference
+ <com.android.settingslib.widget.FooterPreference
android:key="disabled_on_data_saver"
- android:summary="@string/tether_settings_disabled_on_data_saver"
+ android:title="@string/tether_settings_disabled_on_data_saver"
android:selectable="false"
- settings:allowDividerAbove="true" />
+ settings:searchable="false"/>
</PreferenceScreen>
diff --git a/src/com/android/settings/applications/intentpicker/ProgressDialogFragment.java b/src/com/android/settings/applications/intentpicker/ProgressDialogFragment.java
index 53a6b04..f99775e 100644
--- a/src/com/android/settings/applications/intentpicker/ProgressDialogFragment.java
+++ b/src/com/android/settings/applications/intentpicker/ProgressDialogFragment.java
@@ -34,19 +34,19 @@
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProviders;
import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.utils.ThreadUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-/** A customized {@link DialogFragment} with a progress bar. */
-public class ProgressDialogFragment extends DialogFragment {
+/** A customized {@link InstrumentedDialogFragment} with a progress bar. */
+public class ProgressDialogFragment extends InstrumentedDialogFragment {
private static final String TAG = "ProgressDialogFragment";
private static final String DLG_ID = "ProgressDialog";
private static final int PROGRESS_BAR_STEPPING_TIME = 20;
@@ -110,6 +110,11 @@
}
}
+ @Override
+ public int getMetricsCategory() {
+ return 0;
+ }
+
/**
* To generate a progress alter dialog and invoke the supported links dialog.
*/
diff --git a/src/com/android/settings/applications/intentpicker/SupportedLinksDialogFragment.java b/src/com/android/settings/applications/intentpicker/SupportedLinksDialogFragment.java
index 52511c9..db93df2 100644
--- a/src/com/android/settings/applications/intentpicker/SupportedLinksDialogFragment.java
+++ b/src/com/android/settings/applications/intentpicker/SupportedLinksDialogFragment.java
@@ -26,19 +26,19 @@
import android.util.Log;
import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProviders;
import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import java.util.List;
import java.util.Set;
import java.util.UUID;
-/** A customized {@link DialogFragment} with multiple checkboxes. */
-public class SupportedLinksDialogFragment extends DialogFragment {
+/** A customized {@link InstrumentedDialogFragment} with multiple checkboxes. */
+public class SupportedLinksDialogFragment extends InstrumentedDialogFragment {
private static final String TAG = "SupportedLinksDialogFrg";
private static final String DLG_ID = "SupportedLinksDialog";
@@ -55,11 +55,6 @@
}
@Override
- public void onDestroy() {
- super.onDestroy();
- }
-
- @Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Context context = getActivity();
final SupportedLinksAdapter adapter = new SupportedLinksAdapter(context,
@@ -70,13 +65,17 @@
.setAdapter(adapter, /* listener= */ null)
.setCancelable(true)
.setPositiveButton(R.string.app_launch_supported_links_add, (dialog, id) -> {
- // addSelectedItems(((AlertDialog) dialog).getListView());
doSelectedAction();
})
.setNegativeButton(R.string.app_launch_dialog_cancel, /* listener= */ null);
return builder.create();
}
+ @Override
+ public int getMetricsCategory() {
+ return 0;
+ }
+
/** Display the dialog. */
public void showDialog(FragmentManager manager) {
show(manager, DLG_ID);
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index 1fe3f17..0625bbb 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -71,6 +71,7 @@
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
import org.xmlpull.v1.XmlPullParserException;
@@ -79,7 +80,10 @@
import java.util.List;
import java.util.Optional;
-public class DeviceAdminAdd extends Activity {
+/**
+ * A confirmation screen for enabling administractor.
+ */
+public class DeviceAdminAdd extends CollapsingToolbarBaseActivity {
static final String TAG = "DeviceAdminAdd";
static final int DIALOG_WARNING = 1;
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index d93a321..f338eb5 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -24,6 +24,7 @@
import android.content.IntentSender;
import android.os.storage.StorageManager;
import android.util.Log;
+import android.view.Surface;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -241,4 +242,14 @@
}
return false;
}
+
+ /**
+ * Returns {@code true} if the screen is going into a landscape mode and the angle is equal to
+ * 270.
+ * @param context Context that we use to get the display this context is associated with
+ * @return True if the angle of the rotation is equal to 270.
+ */
+ public static boolean isReverseLandscape(@NonNull Context context) {
+ return context.getDisplay().getRotation() == Surface.ROTATION_270;
+ }
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 10b31e3..8def63d 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -47,6 +47,7 @@
import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollSidecar;
import com.android.settings.biometrics.BiometricErrorDialog;
+import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
@@ -98,6 +99,7 @@
private boolean mCanAssumeUdfps;
@Nullable private ProgressBar mProgressBar;
private ObjectAnimator mProgressAnim;
+ private TextView mDescriptionText;
private TextView mErrorText;
private Interpolator mFastOutSlowInInterpolator;
private Interpolator mLinearOutSlowInInterpolator;
@@ -145,7 +147,11 @@
mCanAssumeUdfps = props.size() == 1 && props.get(0).isAnyUdfpsType();
if (mCanAssumeUdfps) {
- setContentView(R.layout.udfps_enroll_enrolling);
+ if (BiometricUtils.isReverseLandscape(getApplicationContext())) {
+ setContentView(R.layout.udfps_enroll_enrolling_land);
+ } else {
+ setContentView(R.layout.udfps_enroll_enrolling);
+ }
setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
} else {
setContentView(R.layout.fingerprint_enroll_enrolling);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index 94eb278..8bc03ac 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -112,7 +112,11 @@
protected int getContentView() {
if (mCanAssumeUdfps) {
- return R.layout.udfps_enroll_find_sensor_layout;
+ if (BiometricUtils.isReverseLandscape(getApplicationContext())) {
+ return R.layout.udfps_enroll_find_sensor_land;
+ } else {
+ return R.layout.udfps_enroll_find_sensor_layout;
+ }
}
return R.layout.fingerprint_enroll_find_sensor;
}
diff --git a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
index 536f699..e6d9dfd 100644
--- a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
@@ -58,7 +58,7 @@
public DeviceNamePreferenceController(Context context, String key) {
super(context, key);
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mWifiDeviceNameTextValidator = new WifiDeviceNameTextValidator();
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
diff --git a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
index 9e969a8..7d20aa7 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
@@ -121,7 +121,7 @@
try {
moveId = getPackageManager().movePrimaryStorage(mVolume);
} catch (IllegalArgumentException e) {
- StorageManager sm = getSystemService(StorageManager.class);
+ StorageManager sm = (StorageManager) getSystemService(STORAGE_SERVICE);
if (Objects.equals(mVolume.getFsUuid(), sm.getPrimaryStorageVolume().getUuid())) {
final Intent intent = new Intent(this, StorageWizardReady.class);
diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
index fcbd5d3..4af5d79 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
@@ -146,8 +146,8 @@
// TODO: There may be an avatar setting action we can use here.
final int iconId = bundle.getInt("icon_id", 0);
if (iconId == 0) {
- final UserManager userManager = getActivity().getSystemService(
- UserManager.class);
+ final UserManager userManager = (UserManager) getActivity().getSystemService(
+ Context.USER_SERVICE);
final UserInfo info = Utils.getExistingUser(userManager,
android.os.Process.myUserHandle());
controller.setLabel(info.name);
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
index 14e86b4..d6cf442 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
@@ -49,7 +49,7 @@
public FirmwareVersionDetailPreferenceController(Context context, String key) {
super(context, key);
- mUserManager = mContext.getSystemService(UserManager.class);
+ mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
initializeAdminPermissions();
}
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index fbb29a7..967eea6 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -49,7 +49,7 @@
public ImeiInfoPreferenceController(Context context, String key) {
super(context, key);
- mTelephonyManager = context.getSystemService(TelephonyManager.class);
+ mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mIsMultiSim = mTelephonyManager.getPhoneCount() > 1;
}
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
index c391750..02c1916 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
@@ -46,9 +46,9 @@
public SimStatusPreferenceController(Context context, Fragment fragment) {
super(context);
- mTelephonyManager = context.getSystemService(TelephonyManager.class);
- mSubscriptionManager = context.getSystemService(
- SubscriptionManager.class);
+ mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ mSubscriptionManager = (SubscriptionManager) context.getSystemService(
+ Context.TELEPHONY_SUBSCRIPTION_SERVICE);
mFragment = fragment;
}
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index e0527f9..c16b95c 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -60,7 +60,6 @@
mPreference = new RestrictedSwitchPreference(context);
mPreference.setTitle(R.string.adaptive_sleep_title);
mPreference.setSummary(R.string.adaptive_sleep_description);
- mPreference.setIcon(R.drawable.empty_icon);
mPreference.setChecked(isChecked());
mPreference.setKey(PREFERENCE_KEY);
mPreference.setOnPreferenceClickListener(preference -> {
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
index 3b0d333..a15a7a0 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -164,7 +164,8 @@
final String textMoreDetails = getResources().getString(R.string.admin_more_details);
final SpannableString spannableString = new SpannableString(
- textDisabledByAdmin + System.lineSeparator() + textMoreDetails);
+ textDisabledByAdmin + System.lineSeparator()
+ + System.lineSeparator() + textMoreDetails);
final ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
@@ -174,7 +175,7 @@
if (textDisabledByAdmin != null && textMoreDetails != null) {
spannableString.setSpan(clickableSpan, textDisabledByAdmin.length() + 1,
- textDisabledByAdmin.length() + textMoreDetails.length() + 1,
+ textDisabledByAdmin.length() + textMoreDetails.length() + 2,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java
index 09380ff..ed52f48 100644
--- a/src/com/android/settings/fuelgauge/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/BatteryEntry.java
@@ -52,6 +52,19 @@
* and icon image.
*/
public class BatteryEntry {
+
+ public static final class NameAndIcon {
+ public final String name;
+ public final Drawable icon;
+ public final int iconId;
+
+ public NameAndIcon(String name, Drawable icon, int iconId) {
+ this.name = name;
+ this.icon = icon;
+ this.iconId = iconId;
+ }
+ }
+
public static final int MSG_UPDATE_NAME_ICON = 1;
public static final int MSG_REPORT_FULLY_DRAWN = 2;
@@ -186,22 +199,16 @@
} else if (batteryConsumer instanceof SystemBatteryConsumer) {
mConsumedPower = batteryConsumer.getConsumedPower()
- ((SystemBatteryConsumer) batteryConsumer).getPowerConsumedByApps();
- final Pair<Integer, String> resourcePair = getResourcePairFromDrainType(
+ final NameAndIcon nameAndIcon = getNameAndIconFromDrainType(
context, ((SystemBatteryConsumer) batteryConsumer).getDrainType());
- iconId = resourcePair.first;
- name = resourcePair.second;
+ iconId = nameAndIcon.iconId;
+ name = nameAndIcon.name;
} else if (batteryConsumer instanceof UserBatteryConsumer) {
mConsumedPower = batteryConsumer.getConsumedPower();
-
- UserInfo info = um.getUserInfo(((UserBatteryConsumer) batteryConsumer).getUserId());
- if (info != null) {
- icon = Utils.getUserIcon(context, um, info);
- name = Utils.getUserLabel(context, info);
- } else {
- icon = null;
- name = context.getResources().getString(
- R.string.running_process_item_removed_user_label);
- }
+ final NameAndIcon nameAndIcon = getNameAndIconFromUserId(
+ context, ((UserBatteryConsumer) batteryConsumer).getUserId());
+ icon = nameAndIcon.icon;
+ name = nameAndIcon.name;
}
if (iconId != 0) {
@@ -238,15 +245,9 @@
}
if (packages == null || packages.length == 0) {
- if (uid == 0) {
- name = mContext.getResources().getString(R.string.process_kernel_label);
- } else if ("mediaserver".equals(name)) {
- name = mContext.getResources().getString(R.string.process_mediaserver_label);
- } else if ("dex2oat".equals(name)) {
- name = mContext.getResources().getString(R.string.process_dex2oat_label);
- }
- iconId = R.drawable.ic_power_system;
- icon = mContext.getDrawable(iconId);
+ final NameAndIcon nameAndIcon = getNameAndIconFromUid(mContext, name, uid);
+ icon = nameAndIcon.icon;
+ name = nameAndIcon.name;
} else {
icon = mContext.getPackageManager().getDefaultActivityIcon();
}
@@ -419,6 +420,13 @@
}
/**
+ * Returns the BatteryConsumer of the app described by this entry.
+ */
+ public BatteryConsumer getBatteryConsumer() {
+ return mBatteryConsumer;
+ }
+
+ /**
* Returns foreground foreground time (in milliseconds) that is attributed to this entry.
*/
public long getTimeInForegroundMs() {
@@ -462,10 +470,46 @@
}
/**
- * Gets icon ID and name from system battery consumer drain type.
+ * Gets name and icon resource from UserBatteryConsumer userId.
*/
- public static Pair<Integer, String> getResourcePairFromDrainType(
- Context context, int drainType) {
+ public static NameAndIcon getNameAndIconFromUserId(
+ Context context, final int userId) {
+ UserManager um = context.getSystemService(UserManager.class);
+ UserInfo info = um.getUserInfo(userId);
+
+ Drawable icon = null;
+ String name = null;
+ if (info != null) {
+ icon = Utils.getUserIcon(context, um, info);
+ name = Utils.getUserLabel(context, info);
+ } else {
+ name = context.getResources().getString(
+ R.string.running_process_item_removed_user_label);
+ }
+ return new NameAndIcon(name, icon, 0 /* iconId */);
+ }
+
+ /**
+ * Gets name and icon resource from UidBatteryConsumer uid.
+ */
+ public static NameAndIcon getNameAndIconFromUid(
+ Context context, String name, final int uid) {
+ Drawable icon = context.getDrawable(R.drawable.ic_power_system);
+ if (uid == 0) {
+ name = context.getResources().getString(R.string.process_kernel_label);
+ } else if ("mediaserver".equals(name)) {
+ name = context.getResources().getString(R.string.process_mediaserver_label);
+ } else if ("dex2oat".equals(name)) {
+ name = context.getResources().getString(R.string.process_dex2oat_label);
+ }
+ return new NameAndIcon(name, icon, 0 /* iconId */);
+ }
+
+ /**
+ * Gets name annd icon resource from SystemBatteryConsumer drain type.
+ */
+ public static NameAndIcon getNameAndIconFromDrainType(
+ Context context, final int drainType) {
String name = null;
int iconId = 0;
switch (drainType) {
@@ -511,6 +555,6 @@
iconId = R.drawable.ic_power_system;
break;
}
- return new Pair<>(Integer.valueOf(iconId), name);
+ return new NameAndIcon(name, null /* icon */, iconId);
}
}
diff --git a/src/com/android/settings/fuelgauge/BatterySaverController.java b/src/com/android/settings/fuelgauge/BatterySaverController.java
index fba163d..15070c3 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverController.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverController.java
@@ -111,7 +111,7 @@
Utils.formatPercentage(percent)) :
mContext.getString(R.string.battery_saver_off_summary);
} else {
- return mContext.getString(R.string.battery_saver_auto_routine);
+ return mContext.getString(R.string.battery_saver_pref_auto_routine_summary);
}
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index 73b875b..11f28b7 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -24,6 +24,6 @@
/**
* Get replacement activity for a given activity or fragment path.
*/
- String getReplacingActivityName(String activity);
+ String getReplacingActivityName(String originalActivity);
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index e410695..218d096 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -16,13 +16,21 @@
package com.android.settings.fuelgauge;
+import android.content.Context;
+
/**
* Feature provider implementation for battery settings usage.
*/
public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
+ protected Context mContext;
+
+ public BatterySettingsFeatureProviderImpl(Context context) {
+ mContext = context.getApplicationContext();
+ }
+
@Override
- public String getReplacingActivityName(String activity) {
+ public String getReplacingActivityName(String originalActivity) {
return null;
}
}
diff --git a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
index ea277a1..27b70cb 100644
--- a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
@@ -20,27 +20,23 @@
import android.content.Context;
import android.provider.Settings;
import android.text.TextUtils;
-import android.widget.Switch;
import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Controller to change and update the smart battery toggle
*/
public class SmartBatteryPreferenceController extends BasePreferenceController implements
- OnMainSwitchChangeListener {
+ Preference.OnPreferenceChangeListener {
private static final String KEY_SMART_BATTERY = "smart_battery";
private static final int ON = 1;
private static final int OFF = 0;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
- private MainSwitchPreference mPreference;
public SmartBatteryPreferenceController(Context context) {
super(context, KEY_SMART_BATTERY);
@@ -70,19 +66,14 @@
super.updateState(preference);
final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON;
- ((MainSwitchPreference) preference).updateStatus(smartBatteryOn);
+ ((SwitchPreference) preference).setChecked(smartBatteryOn);
}
@Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mPreference = (MainSwitchPreference) screen.findPreference(getPreferenceKey());
- mPreference.addOnSwitchChangeListener(this);
- }
-
- @Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean smartBatteryOn = (Boolean) newValue;
Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, isChecked ? ON : OFF);
+ Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, smartBatteryOn ? ON : OFF);
+ return true;
}
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
index 9565036..790264c 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
@@ -19,7 +19,6 @@
import android.app.AppOpsManager;
import android.content.Context;
import android.os.UserManager;
-import android.provider.Settings;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -34,7 +33,6 @@
*/
public class BatteryManagerPreferenceController extends BasePreferenceController {
private static final String KEY_BATTERY_MANAGER = "smart_battery_manager";
- private static final int ON = 1;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private AppOpsManager mAppOpsManager;
private UserManager mUserManager;
@@ -56,24 +54,17 @@
public void updateState(Preference preference) {
super.updateState(preference);
final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager).size();
- final String setting = mPowerUsageFeatureProvider.isSmartBatterySupported()
- ? Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED
- : Settings.Global.APP_AUTO_RESTRICTION_ENABLED;
- final boolean featureOn =
- Settings.Global.getInt(mContext.getContentResolver(), setting, ON) == ON;
- updateSummary(preference, featureOn, num);
+ updateSummary(preference, num);
}
@VisibleForTesting
- void updateSummary(Preference preference, boolean featureOn, int num) {
+ void updateSummary(Preference preference, int num) {
if (num > 0) {
preference.setSummary(mContext.getResources().getQuantityString(
R.plurals.battery_manager_app_restricted, num, num));
- } else if (featureOn) {
- preference.setSummary(R.string.battery_manager_on);
} else {
- preference.setSummary(R.string.battery_manager_off);
+ preference.setSummary(R.string.battery_manager_summary);
}
}
}
diff --git a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
new file mode 100644
index 0000000..7a45602
--- /dev/null
+++ b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.R;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Configures the behaviour of long press power button action.
+ */
+public class LongPressPowerButtonPreferenceController extends TogglePreferenceController implements
+ LifecycleObserver {
+
+ private static final String POWER_BUTTON_LONG_PRESS_SETTING =
+ Settings.Global.POWER_BUTTON_LONG_PRESS;
+ private static final Uri POWER_BUTTON_LONG_PRESS_SETTING_URI =
+ Settings.Global.getUriFor(POWER_BUTTON_LONG_PRESS_SETTING);
+
+ // Used for fallback to global actions if necessary.
+ @VisibleForTesting
+ static final String CARDS_AVAILABLE_KEY =
+ Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE;
+ @VisibleForTesting
+ static final String CARDS_ENABLED_KEY = Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED;
+
+ /**
+ * Value used for long press power button behaviour when Assist setting is enabled.
+ *
+ * {@link com.android.server.policy.PhoneWindowManager#LONG_PRESS_POWER_GLOBAL_ACTIONS} for
+ * source of the value.
+ */
+ @VisibleForTesting
+ static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
+ @VisibleForTesting
+ static final int LONG_PRESS_POWER_SHUT_OFF = 2;
+ @VisibleForTesting
+ static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5; // Settings.Secure.ASSISTANT
+
+ /**
+ * Value used for long press power button behaviour when the Assist setting is disabled.
+ *
+ * If this value matches Assist setting, then it falls back to Global Actions panel or
+ * power menu, depending on their respective settings.
+ */
+ private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE =
+ R.integer.config_longPressOnPowerBehavior;
+
+ @Nullable
+ private SettingObserver mSettingsObserver;
+
+ public LongPressPowerButtonPreferenceController(Context context, String key) {
+ super(context, key);
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mSettingsObserver = new SettingObserver(screen.findPreference(getPreferenceKey()));
+ }
+
+ /**
+ * Called when the settings pages resumes.
+ */
+ @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+ public void onResume() {
+ if (mSettingsObserver != null) {
+ mSettingsObserver.register();
+ }
+ }
+
+ /**
+ * Called when the settings page pauses.
+ */
+ @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+ public void onPause() {
+ if (mSettingsObserver != null) {
+ mSettingsObserver.unregister();
+ }
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ final boolean enabled = mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable);
+ return enabled ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ }
+
+ @Override
+ public boolean isChecked() {
+ final int powerButtonValue = Settings.Global.getInt(mContext.getContentResolver(),
+ POWER_BUTTON_LONG_PRESS_SETTING,
+ mContext.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE));
+ return powerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE;
+ }
+
+ @Override
+ public boolean setChecked(boolean isChecked) {
+ if (isChecked) {
+ return Settings.Global.putInt(mContext.getContentResolver(),
+ POWER_BUTTON_LONG_PRESS_SETTING, LONG_PRESS_POWER_ASSISTANT_VALUE);
+ }
+
+ // We need to determine the right disabled value - we set it to device default
+ // if it's different than Assist, otherwise we fallback to either global actions or power
+ //menu.
+ final int defaultPowerButtonValue = mContext.getResources().getInteger(
+ POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE);
+ if (defaultPowerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
+ final int fallbackValue = isCardsOrControlsAvailable() ? LONG_PRESS_POWER_GLOBAL_ACTIONS
+ : LONG_PRESS_POWER_SHUT_OFF;
+ return Settings.Global.putInt(mContext.getContentResolver(),
+ POWER_BUTTON_LONG_PRESS_SETTING, fallbackValue);
+ }
+
+ return Settings.Global.putInt(mContext.getContentResolver(),
+ POWER_BUTTON_LONG_PRESS_SETTING, defaultPowerButtonValue);
+ }
+
+ /**
+ * Returns true if the global actions menu on power button click is enabled via any of the
+ * content options.
+ */
+ private boolean isCardsOrControlsAvailable() {
+ final ContentResolver resolver = mContext.getContentResolver();
+ final boolean cardsAvailable = Settings.Secure.getInt(resolver, CARDS_AVAILABLE_KEY, 0)
+ != 0;
+ final boolean controlsAvailable = mContext.getPackageManager().hasSystemFeature(
+ PackageManager.FEATURE_CONTROLS);
+ return cardsAvailable || controlsAvailable;
+ }
+
+ private final class SettingObserver extends ContentObserver {
+
+ private final Preference mPreference;
+
+ SettingObserver(Preference preference) {
+ super(new Handler(Looper.getMainLooper()));
+ mPreference = preference;
+ }
+
+ public void register() {
+ final ContentResolver cr = mContext.getContentResolver();
+ cr.registerContentObserver(POWER_BUTTON_LONG_PRESS_SETTING_URI, false, this);
+ }
+
+ public void unregister() {
+ final ContentResolver cr = mContext.getContentResolver();
+ cr.unregisterContentObserver(this);
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ updateState(mPreference);
+ }
+ }
+
+}
diff --git a/src/com/android/settings/gestures/PowerMenuPreferenceController.java b/src/com/android/settings/gestures/PowerMenuPreferenceController.java
index 6ef583b..b11ba65 100644
--- a/src/com/android/settings/gestures/PowerMenuPreferenceController.java
+++ b/src/com/android/settings/gestures/PowerMenuPreferenceController.java
@@ -57,7 +57,8 @@
@Override
public int getAvailabilityStatus() {
- return isCardsAvailable() || isControlsAvailable() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ return isCardsAvailable() || isControlsAvailable() || isAssistInvocationAvailable()
+ ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
private boolean isControlsAvailable() {
@@ -68,4 +69,9 @@
return Settings.Secure.getInt(mContext.getContentResolver(),
CARDS_AVAILABLE_SETTING, 0) == 1;
}
+
+ private boolean isAssistInvocationAvailable() {
+ return mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable);
+ }
}
diff --git a/src/com/android/settings/network/EthernetTetherPreferenceController.java b/src/com/android/settings/network/EthernetTetherPreferenceController.java
index 3559edb..06cd6a7 100644
--- a/src/com/android/settings/network/EthernetTetherPreferenceController.java
+++ b/src/com/android/settings/network/EthernetTetherPreferenceController.java
@@ -43,7 +43,7 @@
super(context, preferenceKey);
mEthernetRegex = context.getString(
com.android.internal.R.string.config_ethernet_iface_regex);
- mEthernetManager = context.getSystemService(EthernetManager.class);
+ mEthernetManager = (EthernetManager) context.getSystemService(Context.ETHERNET_SERVICE);
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
index 65439bc..d8963ad 100644
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ b/src/com/android/settings/network/MobilePlanPreferenceController.java
@@ -73,9 +73,9 @@
MobilePlanPreferenceHost host) {
super(context);
mHost = host;
- mCm = context.getSystemService(ConnectivityManager.class);
- mTm = context.getSystemService(TelephonyManager.class);
- mUserManager = context.getSystemService(UserManager.class);
+ mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ mTm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mIsSecondaryUser = !mUserManager.isAdminUser();
}
diff --git a/src/com/android/settings/network/NetworkResetRestrictionChecker.java b/src/com/android/settings/network/NetworkResetRestrictionChecker.java
index c873f9d..46227f9 100644
--- a/src/com/android/settings/network/NetworkResetRestrictionChecker.java
+++ b/src/com/android/settings/network/NetworkResetRestrictionChecker.java
@@ -31,7 +31,7 @@
public NetworkResetRestrictionChecker(Context context) {
mContext = context;
- mUserManager = context.getSystemService(UserManager.class);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
}
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
diff --git a/src/com/android/settings/network/NetworkScorerPicker.java b/src/com/android/settings/network/NetworkScorerPicker.java
index 011cf05..9ecab3b 100644
--- a/src/com/android/settings/network/NetworkScorerPicker.java
+++ b/src/com/android/settings/network/NetworkScorerPicker.java
@@ -140,6 +140,6 @@
@VisibleForTesting
NetworkScoreManager createNetworkScorerManager(Context context) {
- return context.getSystemService(NetworkScoreManager.class);
+ return (NetworkScoreManager) context.getSystemService(Context.NETWORK_SCORE_SERVICE);
}
}
diff --git a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
index 2abe390..4b452c0 100644
--- a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
+++ b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java
@@ -37,7 +37,7 @@
public NetworkScorerPickerPreferenceController(Context context, String key) {
super(context, key);
mNetworkScoreManager =
- mContext.getSystemService(NetworkScoreManager.class);
+ (NetworkScoreManager) mContext.getSystemService(Context.NETWORK_SCORE_SERVICE);
}
@Override
diff --git a/src/com/android/settings/network/TetherEnabler.java b/src/com/android/settings/network/TetherEnabler.java
index 550d324..ef031f6 100644
--- a/src/com/android/settings/network/TetherEnabler.java
+++ b/src/com/android/settings/network/TetherEnabler.java
@@ -128,10 +128,10 @@
mSwitchWidgetController = switchWidgetController;
mDataSaverBackend = new DataSaverBackend(context);
mConnectivityManager =
- context.getSystemService(ConnectivityManager.class);
- mTetheringManager = context.getSystemService(TetheringManager.class);
- mWifiManager = context.getSystemService(WifiManager.class);
- mUserManager = context.getSystemService(UserManager.class);
+ (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ mTetheringManager = (TetheringManager) context.getSystemService(Context.TETHERING_SERVICE);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mBluetoothPan = bluetoothPan;
mEthernetRegex =
diff --git a/src/com/android/settings/network/apn/ApnEditor.java b/src/com/android/settings/network/apn/ApnEditor.java
index 78b7ccc..afc68d5 100644
--- a/src/com/android/settings/network/apn/ApnEditor.java
+++ b/src/com/android/settings/network/apn/ApnEditor.java
@@ -1291,8 +1291,8 @@
mReadOnlyApnTypes = null;
mReadOnlyApnFields = null;
- final CarrierConfigManager configManager =
- getSystemService(CarrierConfigManager.class);
+ final CarrierConfigManager configManager = (CarrierConfigManager)
+ getSystemService(Context.CARRIER_CONFIG_SERVICE);
if (configManager != null) {
final PersistableBundle b = configManager.getConfigForSubId(mSubId);
if (b != null) {
diff --git a/src/com/android/settings/network/apn/ApnSettings.java b/src/com/android/settings/network/apn/ApnSettings.java
index 3ba667c..02d9b3d 100755
--- a/src/com/android/settings/network/apn/ApnSettings.java
+++ b/src/com/android/settings/network/apn/ApnSettings.java
@@ -209,8 +209,8 @@
mSubscriptionInfo = getSubscriptionInfo(mSubId);
mTelephonyManager = activity.getSystemService(TelephonyManager.class);
- final CarrierConfigManager configManager =
- getSystemService(CarrierConfigManager.class);
+ final CarrierConfigManager configManager = (CarrierConfigManager)
+ getSystemService(Context.CARRIER_CONFIG_SERVICE);
final PersistableBundle b = configManager.getConfigForSubId(mSubId);
mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
mAllowAddingApns = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 7eb53b9..9a4cb40 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -202,7 +202,7 @@
super.onCreate(icicle);
final Context context = getContext();
- mUserManager = context.getSystemService(UserManager.class);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mTelephonyManager = context.getSystemService(TelephonyManager.class)
.createForSubscriptionId(mSubId);
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index 588d828..c8121c4 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -106,8 +106,8 @@
.createForSubscriptionId(mSubId);
mNetworkScanHelper = new NetworkScanHelper(
mTelephonyManager, mCallback, mNetworkScanExecutor);
- PersistableBundle bundle = (getContext().getSystemService(
- CarrierConfigManager.class)).getConfigForSubId(mSubId);
+ PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
+ Context.CARRIER_CONFIG_SERVICE)).getConfigForSubId(mSubId);
if (bundle != null) {
mShow4GForLTE = bundle.getBoolean(
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index 6cb627b..c782b66 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -212,8 +212,8 @@
@Override
public View getView(int position, View convertView, ViewGroup parent) {
- final LayoutInflater inflater =
- mContext.getSystemService(LayoutInflater.class);
+ final LayoutInflater inflater = (LayoutInflater)
+ mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(mItemResId, null);
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index 9105c10..00f9a0e 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -138,7 +138,7 @@
@Override
public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(Context context) {
if (mBatterySettingsFeatureProvider == null) {
- mBatterySettingsFeatureProvider = new BatterySettingsFeatureProviderImpl();
+ mBatterySettingsFeatureProvider = new BatterySettingsFeatureProviderImpl(context);
}
return mBatterySettingsFeatureProvider;
}
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index c52b410..4b9883a 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -32,6 +32,7 @@
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.LayoutInflater;
+import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ScrollView;
@@ -508,6 +509,12 @@
Bundle savedInstanceState) {
final GlifLayout layout = (GlifLayout) inflater.inflate(
R.layout.choose_lock_pattern, container, false);
+ switch(getContext().getDisplay().getRotation()) {
+ case Surface.ROTATION_90:
+ case Surface.ROTATION_270:
+ layout.setLandscapeHeaderAreaVisible(false /* visible */);
+ break;
+ }
layout.setHeaderText(getActivity().getTitle());
if (getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
View iconView = layout.findViewById(R.id.sud_layout_icon);
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index 598e09a..0e18436 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -28,6 +28,7 @@
import android.os.storage.StorageManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
+import android.view.Surface;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
@@ -45,6 +46,8 @@
import com.android.settingslib.animation.AppearAnimationUtils;
import com.android.settingslib.animation.DisappearAnimationUtils;
+import com.google.android.setupdesign.GlifLayout;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -90,8 +93,7 @@
private boolean mDisappearing = false;
private CountDownTimer mCountdownTimer;
- private TextView mHeaderTextView;
- private TextView mDetailsTextView;
+ private GlifLayout mGlifLayout;
// caller-supplied text for various prompts
private CharSequence mHeaderText;
@@ -117,9 +119,14 @@
: R.layout.confirm_lock_pattern,
container,
false);
- mHeaderTextView = (TextView) view.findViewById(R.id.headerText);
+ mGlifLayout = view.findViewById(R.id.setup_wizard_layout);
+ switch(getContext().getDisplay().getRotation()) {
+ case Surface.ROTATION_90:
+ case Surface.ROTATION_270:
+ mGlifLayout.setLandscapeHeaderAreaVisible(false /* visible */);
+ break;
+ }
mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern);
- mDetailsTextView = (TextView) view.findViewById(R.id.sud_layout_description);
mErrorTextView = (TextView) view.findViewById(R.id.errorText);
mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
@@ -177,7 +184,7 @@
return (float)(numRows - row) / numRows;
}
});
- setAccessibilityTitle(mHeaderTextView.getText());
+ setAccessibilityTitle(mGlifLayout.getHeaderText());
mCredentialCheckResultTracker = (CredentialCheckResultTracker) getFragmentManager()
.findFragmentByTag(FRAGMENT_TAG_CHECK_LOCK_RESULT);
@@ -242,13 +249,13 @@
@Override
public void prepareEnterAnimation() {
super.prepareEnterAnimation();
- mHeaderTextView.setAlpha(0f);
+ mGlifLayout.getHeaderTextView().setAlpha(0f);
mCancelButton.setAlpha(0f);
if (mForgotButton != null) {
mForgotButton.setAlpha(0f);
}
mLockPatternView.setAlpha(0f);
- mDetailsTextView.setAlpha(0f);
+ mGlifLayout.getDescriptionTextView().setAlpha(0f);
}
private int getDefaultDetails() {
@@ -269,8 +276,9 @@
private Object[][] getActiveViews() {
ArrayList<ArrayList<Object>> result = new ArrayList<>();
- result.add(new ArrayList<>(Collections.singletonList(mHeaderTextView)));
- result.add(new ArrayList<>(Collections.singletonList(mDetailsTextView)));
+ result.add(new ArrayList<>(Collections.singletonList(mGlifLayout.getHeaderTextView())));
+ result.add(new ArrayList<>(
+ Collections.singletonList(mGlifLayout.getDescriptionTextView())));
if (mCancelButton.getVisibility() == View.VISIBLE) {
result.add(new ArrayList<>(Collections.singletonList(mCancelButton)));
}
@@ -306,14 +314,14 @@
switch (stage) {
case NeedToUnlock:
if (mHeaderText != null) {
- mHeaderTextView.setText(mHeaderText);
+ mGlifLayout.setHeaderText(mHeaderText);
} else {
- mHeaderTextView.setText(getDefaultHeader());
+ mGlifLayout.setHeaderText(getDefaultHeader());
}
if (mDetailsText != null) {
- mDetailsTextView.setText(mDetailsText);
+ mGlifLayout.setDescriptionText(mDetailsText);
} else {
- mDetailsTextView.setText(getDefaultDetails());
+ mGlifLayout.setDescriptionText(getDefaultDetails());
}
mErrorTextView.setText("");
updateErrorMessage(
@@ -341,7 +349,7 @@
// Always announce the header for accessibility. This is a no-op
// when accessibility is disabled.
- mHeaderTextView.announceForAccessibility(mHeaderTextView.getText());
+ mGlifLayout.getHeaderTextView().announceForAccessibility(mGlifLayout.getHeaderText());
}
private int getDefaultHeader() {
diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java
index 3051b92..7dab4c0 100644
--- a/src/com/android/settings/sim/SimSelectNotification.java
+++ b/src/com/android/settings/sim/SimSelectNotification.java
@@ -104,8 +104,8 @@
subId = SubscriptionManager.getDefaultSmsSubscriptionId();
}
- SubscriptionManager subscriptionManager = (context.getSystemService(
- SubscriptionManager.class));
+ SubscriptionManager subscriptionManager = ((SubscriptionManager) context.getSystemService(
+ Context.TELEPHONY_SUBSCRIPTION_SERVICE));
if (!subscriptionManager.isActiveSubscriptionId(subId)) {
Log.w(TAG, "onEnableMmsDataRequest invalid sub ID " + subId);
return;
@@ -130,8 +130,8 @@
return;
}
- TelephonyManager tm = (context.getSystemService(
- TelephonyManager.class)).createForSubscriptionId(subId);
+ TelephonyManager tm = ((TelephonyManager) context.getSystemService(
+ Context.TELEPHONY_SERVICE)).createForSubscriptionId(subId);
if (tm.isDataEnabledForApn(TYPE_MMS)) {
Log.w(TAG, "onEnableMmsDataRequest MMS data already enabled on sub ID " + subId);
@@ -230,14 +230,14 @@
PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
builder.setContentIntent(resultPendingIntent);
NotificationManager notificationManager =
- context.getSystemService(NotificationManager.class);
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(notificationChannel);
notificationManager.notify(SIM_SELECT_NOTIFICATION_ID, builder.build());
}
public static void cancelSimSelectNotification(Context context) {
NotificationManager notificationManager =
- context.getSystemService(NotificationManager.class);
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(SIM_SELECT_NOTIFICATION_ID);
}
@@ -270,14 +270,14 @@
// Notify the notification.
NotificationManager notificationManager =
- context.getSystemService(NotificationManager.class);
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(notificationChannel);
notificationManager.notify(ENABLE_MMS_NOTIFICATION_ID, builder.build());
}
private void cancelEnableMmsNotification(Context context) {
NotificationManager notificationManager =
- context.getSystemService(NotificationManager.class);
+ (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(ENABLE_MMS_NOTIFICATION_ID);
}
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 4543f3f..0543fee 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -319,7 +319,7 @@
@VisibleForTesting
static boolean appHasVpnPermission(Context context, @NonNull ApplicationInfo application) {
final AppOpsManager service =
- context.getSystemService(AppOpsManager.class);
+ (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
final List<AppOpsManager.PackageOps> ops = service.getOpsForPackage(application.uid,
application.packageName, new int[]{OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
return !ArrayUtils.isEmpty(ops);
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 2620426..cdc6537 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -116,9 +116,9 @@
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- mUserManager = getSystemService(UserManager.class);
- mConnectivityManager = getSystemService(ConnectivityManager.class);
- mVpnManager = getSystemService(VpnManager.class);
+ mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
+ mConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
+ mVpnManager = (VpnManager) getSystemService(Context.VPN_MANAGEMENT_SERVICE);
mUnavailable = isUiRestricted();
setHasOptionsMenu(!mUnavailable);
@@ -511,7 +511,7 @@
}
// Fetch VPN-enabled apps from AppOps.
- AppOpsManager aom = context.getSystemService(AppOpsManager.class);
+ AppOpsManager aom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
List<AppOpsManager.PackageOps> apps =
aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
if (apps != null) {
diff --git a/src/com/android/settings/wifi/ChangeWifiStateDetails.java b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
index 4e3e62e..9841615 100644
--- a/src/com/android/settings/wifi/ChangeWifiStateDetails.java
+++ b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
@@ -49,7 +49,7 @@
super.onCreate(savedInstanceState);
final Context context = getActivity();
mAppBridge = new AppStateChangeWifiStateBridge(context, mState, null);
- mAppOpsManager = context.getSystemService(AppOpsManager.class);
+ mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
// find preferences
addPreferencesFromResource(R.xml.change_wifi_state_details);
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 484d3cc..ff313c7 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -69,7 +69,7 @@
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
- final WifiManager wifiManager = getSystemService(WifiManager.class);
+ final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new WifiP2pPreferenceController(context, getSettingsLifecycle(),
wifiManager));
diff --git a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
index 5fa4dfb..44114e5 100644
--- a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
+++ b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
@@ -51,7 +51,7 @@
super(context, KEY_USE_OPEN_WIFI_AUTOMATICALLY);
mContentResolver = context.getContentResolver();
mNetworkScoreManager =
- context.getSystemService(NetworkScoreManager.class);
+ (NetworkScoreManager) context.getSystemService(Context.NETWORK_SCORE_SERVICE);
mSettingObserver = new SettingObserver();
updateEnableUseWifiComponentName();
checkForFeatureSupportedScorers();
diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java
index 498539d..15465ed 100644
--- a/src/com/android/settings/wifi/WifiAPITest.java
+++ b/src/com/android/settings/wifi/WifiAPITest.java
@@ -64,7 +64,7 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mWifiManager = getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
}
@Override
diff --git a/src/com/android/settings/wifi/WifiConfigInfo.java b/src/com/android/settings/wifi/WifiConfigInfo.java
index 18ac2e5..0de3063 100644
--- a/src/com/android/settings/wifi/WifiConfigInfo.java
+++ b/src/com/android/settings/wifi/WifiConfigInfo.java
@@ -38,7 +38,7 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mWifiManager = getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
setContentView(R.layout.wifi_config_info);
mConfigList = (TextView) findViewById(R.id.config_list);
}
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index ba1ee3c..dc5be42 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -75,7 +75,7 @@
public WifiEnabler(Context context, SwitchWidgetController switchWidget,
MetricsFeatureProvider metricsFeatureProvider) {
this(context, switchWidget, metricsFeatureProvider,
- context.getSystemService(ConnectivityManager.class));
+ (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
}
@VisibleForTesting
@@ -86,7 +86,7 @@
mSwitchWidget = switchWidget;
mSwitchWidget.setListener(this);
mMetricsFeatureProvider = metricsFeatureProvider;
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mConnectivityManager = connectivityManager;
mIntentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
diff --git a/src/com/android/settings/wifi/WifiNoInternetDialog.java b/src/com/android/settings/wifi/WifiNoInternetDialog.java
index 3cd8a8a..57e42f8 100644
--- a/src/com/android/settings/wifi/WifiNoInternetDialog.java
+++ b/src/com/android/settings/wifi/WifiNoInternetDialog.java
@@ -107,7 +107,7 @@
}
};
- mCM = getSystemService(ConnectivityManager.class);
+ mCM = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
mCM.registerNetworkCallback(request, mNetworkCallback);
final NetworkInfo ni = mCM.getNetworkInfo(mNetwork);
diff --git a/src/com/android/settings/wifi/WifiStatusTest.java b/src/com/android/settings/wifi/WifiStatusTest.java
index 06242e3..249cd71 100644
--- a/src/com/android/settings/wifi/WifiStatusTest.java
+++ b/src/com/android/settings/wifi/WifiStatusTest.java
@@ -116,7 +116,7 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mWifiManager = getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
mWifiStateFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
mWifiStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
diff --git a/src/com/android/settings/wifi/WifiUtils.java b/src/com/android/settings/wifi/WifiUtils.java
index e576851..d05260a 100644
--- a/src/com/android/settings/wifi/WifiUtils.java
+++ b/src/com/android/settings/wifi/WifiUtils.java
@@ -83,7 +83,7 @@
final DevicePolicyManager dpm =
(DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
final PackageManager pm = context.getPackageManager();
- final UserManager um = context.getSystemService(UserManager.class);
+ final UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
// Check if device has DPM capability. If it has and dpm is still null, then we
// treat this case with suspicion and bail out.
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index 3aa62b9..e9fd350 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -73,7 +73,7 @@
public WifiWakeupPreferenceController(Context context) {
super(context, KEY_ENABLE_WIFI_WAKEUP);
- mLocationManager = context.getSystemService(LocationManager.class);
+ mLocationManager = (LocationManager) context.getSystemService(Service.LOCATION_SERVICE);
mWifiManager = context.getSystemService(WifiManager.class);
}
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 3cfe514..de64b91 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -128,8 +128,8 @@
boolean isWfcModeEditable = true;
boolean isWfcRoamingModeEditable = false;
- final CarrierConfigManager configManager =
- activity.getSystemService(CarrierConfigManager.class);
+ final CarrierConfigManager configManager = (CarrierConfigManager)
+ activity.getSystemService(Context.CARRIER_CONFIG_SERVICE);
if (configManager != null) {
PersistableBundle b =
configManager.getConfigForSubId(WifiCallingSettingsForSub.this.mSubId);
@@ -343,8 +343,8 @@
return;
}
- final CarrierConfigManager configManager =
- getSystemService(CarrierConfigManager.class);
+ final CarrierConfigManager configManager = (CarrierConfigManager)
+ getSystemService(Context.CARRIER_CONFIG_SERVICE);
boolean isWifiOnlySupported = true;
if (configManager != null) {
diff --git a/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java b/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
index 9ab64c7..8f9741a 100644
--- a/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
@@ -42,7 +42,7 @@
public AddDevicePreferenceController2(Context context) {
super(context, KEY_ADD_DEVICE);
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}
public void setWifiEntry(WifiEntry wifiEntry) {
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
index 488ffcb..104761f 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -143,8 +143,8 @@
if (admin == null) {
final DevicePolicyManager dpm = (DevicePolicyManager)
getContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
- final UserManager um =
- getContext().getSystemService(UserManager.class);
+ final UserManager um = (UserManager)
+ getContext().getSystemService(Context.USER_SERVICE);
final int profileOwnerUserId = Utils.getManagedProfileId(
um, UserHandle.myUserId());
if (profileOwnerUserId != UserHandle.USER_NULL) {
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index 72a2361..c484922 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -45,7 +45,7 @@
public WifiPrivacyPreferenceController2(Context context) {
super(context, KEY_WIFI_PRIVACY);
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
}
public void setWifiEntry(WifiEntry wifiEntry) {
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index 081e160..abf5bec 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -373,8 +373,8 @@
* device security or if lock screen is unlocked
*/
public static void showLockScreen(Context context, Runnable successRunnable) {
- final KeyguardManager keyguardManager = context.getSystemService(
- KeyguardManager.class);
+ final KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(
+ Context.KEYGUARD_SERVICE);
if (keyguardManager.isKeyguardSecure()) {
final BiometricPrompt.AuthenticationCallback authenticationCallback =
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java b/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
index 8696bef..9604410 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java
@@ -71,7 +71,7 @@
super(context);
mWifiManager = wifiManager;
lifecycle.addObserver(this);
- mLocationManager = context.getSystemService(LocationManager.class);
+ mLocationManager = (LocationManager) context.getSystemService(Service.LOCATION_SERVICE);
}
@Override
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
index 0aac0bb..9578c80 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
@@ -200,7 +200,7 @@
public void onActivityCreated(Bundle savedInstanceState) {
final Activity activity = getActivity();
if (mWifiP2pManager == null) {
- mWifiP2pManager = getSystemService(WifiP2pManager.class);
+ mWifiP2pManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
}
if (mWifiP2pManager != null) {
diff --git a/src/com/android/settings/wifi/qrcode/QrCamera.java b/src/com/android/settings/wifi/qrcode/QrCamera.java
index 274655d..3865eb1 100644
--- a/src/com/android/settings/wifi/qrcode/QrCamera.java
+++ b/src/com/android/settings/wifi/qrcode/QrCamera.java
@@ -202,7 +202,7 @@
}
final WindowManager winManager =
- mContext.get().getSystemService(WindowManager.class);
+ (WindowManager) mContext.get().getSystemService(Context.WINDOW_SERVICE);
final int rotation = winManager.getDefaultDisplay().getRotation();
int degrees = 0;
switch (rotation) {
diff --git a/src/com/android/settings/wifi/tether/TetherService.java b/src/com/android/settings/wifi/tether/TetherService.java
index a3321bb..5902719 100644
--- a/src/com/android/settings/wifi/tether/TetherService.java
+++ b/src/com/android/settings/wifi/tether/TetherService.java
@@ -255,7 +255,7 @@
}
private void disableTethering(final int tetheringType) {
- final TetheringManager tm = getSystemService(TetheringManager.class);
+ final TetheringManager tm = (TetheringManager) getSystemService(Context.TETHERING_SERVICE);
tm.stopTethering(tetheringType);
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
index a950dc3..46da097 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
@@ -45,8 +45,8 @@
OnTetherConfigUpdateListener listener) {
super(context);
mListener = listener;
- mWifiManager = context.getSystemService(WifiManager.class);
- mTm = context.getSystemService(TetheringManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+ mTm = (TetheringManager) context.getSystemService(Context.TETHERING_SERVICE);
mWifiRegexs = mTm.getTetherableWifiRegexs();
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 1fa41b2..70b6a45 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -63,7 +63,7 @@
boolean initSoftApManager) {
super(context);
mTetheringManager = context.getSystemService(TetheringManager.class);
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mWifiRegexs = mTetheringManager.getTetherableWifiRegexs();
mLifecycle = lifecycle;
if (lifecycle != null) {
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 41b439b..e342550 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -110,7 +110,7 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- mWifiManager = context.getSystemService(WifiManager.class);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mTetherChangeReceiver = new TetherChangeReceiver();
mSSIDPreferenceController = use(WifiTetherSSIDPreferenceController.class);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index 379bf6d..3d8cd3e 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -73,8 +73,8 @@
mSwitch = mSwitchBar.getSwitch();
mDataSaverBackend = new DataSaverBackend(context);
mConnectivityManager =
- context.getSystemService(ConnectivityManager.class);
- mWifiManager = context.getSystemService(WifiManager.class);
+ (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
mSwitchBar.setChecked(mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED);
updateWifiSwitch();
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
index 60eab12..997c35e 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
@@ -181,8 +181,8 @@
mController.copy();
- final ClipboardManager clipboard = mContext.getSystemService(
- ClipboardManager.class);
+ final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
+ CLIPBOARD_SERVICE);
final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
assertThat(data.toString()).isEqualTo(meid);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
index b3b8196..52f682c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
@@ -105,7 +105,8 @@
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
- assertThat(mBatterySaverController.getSummary()).isEqualTo("Based on your routine");
+ assertThat(mBatterySaverController.getSummary()).
+ isEqualTo("Will turn on based on your routine");
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
index a1f3bda..b132a97 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
@@ -21,9 +21,10 @@
import static org.mockito.Mockito.doReturn;
import android.content.ContentResolver;
-import android.content.Context;
import android.provider.Settings;
+import androidx.preference.SwitchPreference;
+
import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.widget.MainSwitchPreference;
@@ -42,50 +43,48 @@
private static final int OFF = 0;
private SmartBatteryPreferenceController mController;
+ private SwitchPreference mPreference;
private ContentResolver mContentResolver;
private FakeFeatureFactory mFeatureFactory;
- private Context mContext;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
mFeatureFactory = FakeFeatureFactory.setupForTest();
mContentResolver = RuntimeEnvironment.application.getContentResolver();
mController = new SmartBatteryPreferenceController(RuntimeEnvironment.application);
+ mPreference = new SwitchPreference(RuntimeEnvironment.application);
}
@Test
public void testUpdateState_smartBatteryOn_preferenceChecked() {
putSmartBatteryValue(ON);
- final MainSwitchPreference preference = new MainSwitchPreference(mContext);
- mController.updateState(preference);
+ mController.updateState(mPreference);
- assertThat(preference.isChecked()).isTrue();
+ assertThat(mPreference.isChecked()).isTrue();
}
@Test
public void testUpdateState_smartBatteryOff_preferenceUnchecked() {
putSmartBatteryValue(OFF);
- final MainSwitchPreference preference = new MainSwitchPreference(mContext);
- mController.updateState(preference);
+ mController.updateState(mPreference);
- assertThat(preference.isChecked()).isFalse();
+ assertThat(mPreference.isChecked()).isFalse();
}
@Test
public void testUpdateState_checkPreference_smartBatteryOn() {
- mController.onSwitchChanged(null, true);
+ mController.onPreferenceChange(mPreference, true);
assertThat(getSmartBatteryValue()).isEqualTo(ON);
}
@Test
public void testUpdateState_unCheckPreference_smartBatteryOff() {
- mController.onSwitchChanged(null, false);
+ mController.onPreferenceChange(mPreference, false);
assertThat(getSmartBatteryValue()).isEqualTo(OFF);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
index 435aa88..b01e3b1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
@@ -63,31 +63,20 @@
}
@Test
- public void updateState_smartBatteryOnWithRestrictApps_showSummary() {
- mController.updateSummary(mPreference, true /* smartBatteryOn */, 2);
+ public void updateState_smartBatteryWithRestrictApps_showSummary() {
+ mController.updateSummary(mPreference, 2);
assertThat(mPreference.getSummary()).isEqualTo("2 apps restricted");
}
@Test
- public void updateState_smartBatteryOnWithoutRestriction_showSummary() {
+ public void updateState_smartBatteryWithoutRestriction_showSummary() {
when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true);
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
mController.updateState(mPreference);
- assertThat(mPreference.getSummary()).isEqualTo("On / Detecting when apps drain battery");
- }
-
- @Test
- public void updateState_smartBatteryOff_showSummary() {
- when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, OFF);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.getSummary()).isEqualTo("Off");
+ assertThat(mPreference.getSummary()).isEqualTo("Detecting when apps drain battery");
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SummaryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SummaryDetectorTest.java
index 0fd3ccf..5794b6c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SummaryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SummaryDetectorTest.java
@@ -54,9 +54,9 @@
}
@Test
- public void testDetect_notDisabled_tipVisible() {
+ public void testDetect_notDisabled_tipInvisible() {
SummaryDetector detector = new SummaryDetector(mPolicy, AVERAGE_TIME_MS);
- assertThat(detector.detect().isVisible()).isTrue();
+ assertThat(detector.detect().isVisible()).isFalse();
}
}
diff --git a/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
new file mode 100644
index 0000000..de58c99
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.gestures;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.Application;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class LongPressPowerButtonPreferenceControllerTest {
+
+ private static final String KEY_LONG_PRESS_POWER_BUTTON =
+ "gesture_power_menu_long_press_for_assist";
+
+ private Application mContext;
+ private Resources mResources;
+ private LongPressPowerButtonPreferenceController mController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = spy(RuntimeEnvironment.application);
+ mResources = mock(Resources.class);
+ when(mContext.getResources()).thenReturn(mResources);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+ mController = new LongPressPowerButtonPreferenceController(mContext,
+ KEY_LONG_PRESS_POWER_BUTTON);
+ }
+
+ @Test
+ public void isAvailable_configIsTrue_shouldReturnTrue() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_configIsFalse_shouldReturnFalse() {
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(false);
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void preferenceChecked_longPressPowerSettingSetToAssistant() {
+ mController.onPreferenceChange(null, true);
+
+ assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
+ }
+
+ @Test
+ public void preferenceUnchecked_longPressPowerSettingSetToDefaultValue() {
+ // Value out of range chosen deliberately.
+ when(mResources.getInteger(
+ com.android.internal.R.integer.config_longPressOnPowerBehavior))
+ .thenReturn(8);
+
+ mController.onPreferenceChange(null, false);
+ assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(8);
+ }
+
+ @Test
+ public void preferenceUnchecked_assistDefault_setShutOff() {
+ // Value out of range chosen deliberately.
+ when(mResources.getInteger(
+ com.android.internal.R.integer.config_longPressOnPowerBehavior))
+ .thenReturn(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
+
+ mController.onPreferenceChange(null, false);
+ assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_SHUT_OFF);
+ }
+
+ @Test
+ public void preferenceUnchecked_assistDefaultGlobalActionsEnabled_setGlobalActions() {
+ // Value out of range chosen deliberately.
+ when(mResources.getInteger(
+ com.android.internal.R.integer.config_longPressOnPowerBehavior))
+ .thenReturn(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ LongPressPowerButtonPreferenceController.CARDS_AVAILABLE_KEY, 1);
+ Settings.Secure.putInt(mContext.getContentResolver(),
+ LongPressPowerButtonPreferenceController.CARDS_ENABLED_KEY, 1);
+
+ mController.onPreferenceChange(null, false);
+ assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
+ LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
index 570a680..f8d81f2 100644
--- a/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PowerMenuPreferenceControllerTest.java
@@ -18,8 +18,13 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
import android.content.Context;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.provider.Settings;
import com.android.settings.core.BasePreferenceController;
@@ -35,6 +40,7 @@
@RunWith(RobolectricTestRunner.class)
public class PowerMenuPreferenceControllerTest {
private Context mContext;
+ private Resources mResources;
private PowerMenuPreferenceController mController;
private ShadowPackageManager mShadowPackageManager;
@@ -44,17 +50,26 @@
private static final String CARDS_ENABLED = Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED;
private static final String CARDS_AVAILABLE = Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE;
+
@Before
public void setUp() {
- mContext = RuntimeEnvironment.application;
+ mContext = spy(RuntimeEnvironment.application);
+ mResources = mock(Resources.class);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+ when(mContext.getResources()).thenReturn(mResources);
mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
mController = new PowerMenuPreferenceController(mContext, KEY_GESTURE_POWER_MENU);
}
@Test
- public void getAvailabilityStatus_bothAvailable_available() {
+ public void getAvailabilityStatus_allAvailable_available() {
Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 1);
mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
@@ -64,6 +79,9 @@
public void getAvailabilityStatus_onlyCardsAvailable_available() {
Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 1);
mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
@@ -73,15 +91,69 @@
public void getAvailabilityStatus_onlyControlsAvailable_available() {
Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 0);
mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.AVAILABLE);
}
@Test
- public void getAvailabilityStatus_bothUnavailable_unavailable() {
+ public void getAvailabilityStatus_controlsAndCardsAvailable_available() {
+ Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 1);
+ mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(false);
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(
+ BasePreferenceController.AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_controlsAndAssistAvailable_available() {
+ Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 0);
+ mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(
+ BasePreferenceController.AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_cardsAndAssistAvailable_available() {
+ Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 1);
+ mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(
+ BasePreferenceController.AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_onlyAssistAvailable_available() {
Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 0);
mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(
+ BasePreferenceController.AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_allUnavailable_unavailable() {
+ Settings.Secure.putInt(mContext.getContentResolver(), CARDS_AVAILABLE, 0);
+ mShadowPackageManager.setSystemFeature(CONTROLS_FEATURE, false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable))
+ .thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(
BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
diff --git a/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
index 53dd959..d3a3129 100644
--- a/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
@@ -57,7 +57,7 @@
mContext = spy(ApplicationProvider.getApplicationContext());
mSwitchPreference = spy(SwitchPreference.class);
- when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[] {""});
mController = new BluetoothTetherPreferenceController(mContext, "BLUETOOTH");
mController.setTetherEnabler(mTetherEnabler);
diff --git a/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java
index de642f6..8a81908 100644
--- a/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java
@@ -62,9 +62,9 @@
public void setUp() {
mContext = spy(ApplicationProvider.getApplicationContext());
mPreference = spy(SwitchPreference.class);
- when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableIfaces()).thenReturn(new String[]{ETHERNET_REGEX});
- when(mContext.getSystemService(EthernetManager.class)).thenReturn(mEthernetManager);
+ when(mContext.getSystemService(Context.ETHERNET_SERVICE)).thenReturn(mEthernetManager);
mController = new EthernetTetherPreferenceController(mContext, "ethernet");
mController.setTetherEnabler(mTetherEnabler);
ReflectionHelpers.setField(mController, "mEthernetRegex", ETHERNET_REGEX);
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index d7c0ffe..c1377ff 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -44,6 +44,7 @@
import android.os.PowerManager;
import android.os.UserManager;
import android.provider.Settings;
+import android.util.FeatureFlagUtils;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
@@ -131,6 +132,7 @@
mNetworkProviderSettings.mResetInternetPreference = mResetInternetPreference;
mNetworkProviderSettings.mAirplaneModeMsgPreference = mAirplaneModeMsgPreference;
mNetworkProviderSettings.mAirplaneModeEnabler = mAirplaneModeEnabler;
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, false);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/network/NetworkResetRestrictionCheckerTest.java b/tests/robotests/src/com/android/settings/network/NetworkResetRestrictionCheckerTest.java
index 293b649..8996c1d 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkResetRestrictionCheckerTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkResetRestrictionCheckerTest.java
@@ -45,14 +45,14 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
mRestrictionChecker = spy(new NetworkResetRestrictionChecker(mContext));
}
@Test
public void testHasRestriction_notAdmin_shouldReturnTrue() {
final Context context = mock(Context.class);
- when(context.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(context.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
when(mUserManager.isAdminUser()).thenReturn(false);
assertThat(mRestrictionChecker.hasRestriction()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
index fce9517..390a674 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
@@ -125,7 +125,7 @@
mContext = spy(RuntimeEnvironment.application);
mContentResolver = mContext.getContentResolver();
mShadowContentResolver = Shadow.extract(mContentResolver);
- when(mContext.getSystemService(ConnectivityManager.class))
+ when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
.thenReturn(mConnectivityManager);
doNothing().when(mConnectivityManager).registerDefaultNetworkCallback(
mCallbackCaptor.capture(), nullable(Handler.class));
diff --git a/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
index cd93865..bb4b0c4 100644
--- a/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
@@ -95,10 +95,10 @@
AtomicReference<BluetoothPan> panReference = spy(AtomicReference.class);
mSwitchBar = spy(new SwitchBar(context));
mSwitchWidgetController = spy(new SwitchBarController(mSwitchBar));
- when(context.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
- when(context.getSystemService(ConnectivityManager.class)).thenReturn(
+ when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+ when(context.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
mConnectivityManager);
- when(context.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(context.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(context.getSystemService(Context.NETWORK_POLICY_SERVICE)).thenReturn(
mNetworkPolicyManager);
when(mTetheringManager.getTetherableIfaces()).thenReturn(new String[0]);
@@ -311,4 +311,4 @@
assertThat(TetherEnabler.isTethering(TETHERING_ETHERNET_ON, TETHERING_ETHERNET)).isTrue();
assertThat(TetherEnabler.isTethering(~TETHERING_ETHERNET_ON, TETHERING_ETHERNET)).isFalse();
}
-}
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
index 0639ef3..e02da90 100644
--- a/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
@@ -55,7 +55,7 @@
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[]{""});
mController = new UsbTetherPreferenceController(mContext, "USB");
mController.setTetherEnabler(mTetherEnabler);
diff --git a/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
index 22ed55c..a82a71f 100644
--- a/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
@@ -100,7 +100,7 @@
mContext = spy(ApplicationProvider.getApplicationContext());
mPreference = spy(SwitchPreference.class);
- when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{""});
mController = new WifiTetherDisablePreferenceController(mContext, WIFI_TETHER_DISABLE_KEY);
mController.setTetherEnabler(mTetherEnabler);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
index acc6b1a..ba37c30 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
@@ -74,7 +74,7 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
+ doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
diff --git a/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java b/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
index 0d86408..6bee38f 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
@@ -77,7 +77,7 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
+ when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
index be3267e..094e282 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
@@ -78,7 +78,7 @@
mActivity = spy(activity);
mWifiManager = mock(WifiManager.class);
- when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+ when(mActivity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java
index 2475d80..65cc811 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java
@@ -53,7 +53,7 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+ when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
mEnabler = new WifiEnabler(mContext, mock(SwitchWidgetController.class),
mock(MetricsFeatureProvider.class), mConnectivityManager);
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
index dc5ccb4..6cbb19d 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
@@ -44,6 +44,7 @@
import com.android.settings.R;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -87,6 +88,7 @@
Robolectric.setupActivity(WifiNoInternetDialog.class);
}
+ @Ignore
@Test
public void setupPromptUnvalidated_shouldShowNoInternetAccessRemember() {
setupActivityWithAction(ACTION_PROMPT_UNVALIDATED, FAKE_URL);
@@ -98,6 +100,7 @@
mActivity.getString(R.string.no_internet_access_remember));
}
+ @Ignore
@Test
public void setupPromptPartialConnectivity_shouldShowNoInternetAccessRemember() {
setupActivityWithAction(ACTION_PROMPT_PARTIAL_CONNECTIVITY, FAKE_URL);
@@ -109,6 +112,7 @@
mActivity.getString(R.string.no_internet_access_remember));
}
+ @Ignore
@Test
public void setupPromptLostValidationAction_shouldShowLostInternetAccessPersist() {
setupActivityWithAction(ACTION_PROMPT_LOST_VALIDATION, FAKE_URL);
@@ -120,6 +124,7 @@
mActivity.getString(R.string.lost_internet_access_persist));
}
+ @Ignore
@Test
public void clickPositiveButton_whenPromptUnvalidated_shouldCallSetAcceptUnvalidated() {
setupActivityWithAction(ACTION_PROMPT_UNVALIDATED, FAKE_URL);
@@ -131,6 +136,7 @@
verify(mConnectivityManager).setAcceptUnvalidated(any(Network.class), eq(true), eq(false));
}
+ @Ignore
@Test
public void positiveButton_withPartialConnectivity_shouldCallSetAcceptPartialConnectivity() {
setupActivityWithAction(ACTION_PROMPT_PARTIAL_CONNECTIVITY, FAKE_URL);
@@ -143,6 +149,7 @@
eq(false));
}
+ @Ignore
@Test
public void positiveButton_withLostValidation_shouldCallSetAvoidUnvalidated() {
setupActivityWithAction(ACTION_PROMPT_LOST_VALIDATION, FAKE_URL);
@@ -154,6 +161,7 @@
verify(mConnectivityManager).setAvoidUnvalidated(any(Network.class));
}
+ @Ignore
@Test
public void destroyWithNoClick_inPartialConnectivity_shouldCallSetAcceptPartialConnectivity() {
setupActivityWithAction(ACTION_PROMPT_PARTIAL_CONNECTIVITY, FAKE_URL);
@@ -167,6 +175,7 @@
eq(false));
}
+ @Ignore
@Test
public void destroyWithNoClick_whenUnvalidated_shouldCallSetAcceptUnvalidated() {
setupActivityWithAction(ACTION_PROMPT_UNVALIDATED, FAKE_URL);
@@ -179,6 +188,7 @@
verify(mConnectivityManager).setAcceptUnvalidated(any(Network.class), eq(false), eq(false));
}
+ @Ignore
@Test
public void networkCallbackOnLost_shouldFinish() {
setupActivityWithAction(ACTION_PROMPT_UNVALIDATED, FAKE_URL);
@@ -192,6 +202,7 @@
verify(mActivity).finish();
}
+ @Ignore
@Test
public void networkCallbackOnCapabilitiesChanged_shouldFinish() {
setupActivityWithAction(ACTION_PROMPT_UNVALIDATED, FAKE_URL);
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
index 4100d05..b94df29 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
@@ -78,7 +78,7 @@
when(mContext.getSystemService(NetworkScoreManager.class)).thenReturn(mNetworkScoreManager);
mController = new WifiPrimarySwitchPreferenceController(mContext, mMetricsFeatureProvider);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+ when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
index 428a360..1f5abd3 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
@@ -43,6 +43,7 @@
import android.os.PowerManager;
import android.os.UserManager;
import android.provider.Settings;
+import android.util.FeatureFlagUtils;
import android.view.ContextMenu;
import android.view.View;
@@ -105,6 +106,7 @@
mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
mWifiSettings.mWifiPickerTracker = mMockWifiPickerTracker;
mWifiSettings.mWifiManager = mWifiManager;
+ FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, false);
}
@Test
@@ -209,7 +211,7 @@
final Resources.Theme theme = mContext.getTheme();
when(activity.getTheme()).thenReturn(theme);
UserManager userManager = mock(UserManager.class);
- when(activity.getSystemService(UserManager.class))
+ when(activity.getSystemService(Context.USER_SERVICE))
.thenReturn(userManager);
when(mWifiSettings.findPreference(WifiSettings.PREF_KEY_DATA_USAGE))
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/DisclaimerItemListAdapterTest.java b/tests/robotests/src/com/android/settings/wifi/calling/DisclaimerItemListAdapterTest.java
index 3e15348..8478a54 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/DisclaimerItemListAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/DisclaimerItemListAdapterTest.java
@@ -77,7 +77,7 @@
when(mLayoutInflater.inflate(anyInt(), anyObject(), anyBoolean())).thenReturn(mView);
when(mViewGroup.getContext()).thenReturn(mContext);
- when(mViewGroup.getContext().getSystemService(LayoutInflater.class)).thenReturn(
+ when(mViewGroup.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).thenReturn(
mLayoutInflater);
when(mView.findViewById(ID_DISCLAIMER_ITEM_TITLE)).thenReturn(mTestView);
when(mView.findViewById(ID_DISCLAIMER_ITEM_DESCRIPTION)).thenReturn(mDescView);
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/EmergencyCallLimitationDisclaimerTest.java b/tests/robotests/src/com/android/settings/wifi/calling/EmergencyCallLimitationDisclaimerTest.java
index c15e850..985edda 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/EmergencyCallLimitationDisclaimerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/EmergencyCallLimitationDisclaimerTest.java
@@ -54,7 +54,7 @@
mContext = spy(RuntimeEnvironment.application);
doReturn(mCarrierConfigManager).when(mContext).getSystemService(
- CarrierConfigManager.class);
+ Context.CARRIER_CONFIG_SERVICE);
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mBundle);
doReturn(getSharedPreferences()).when(mContext).getSharedPreferences(anyString(), anyInt());
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/LocationPolicyDisclaimerTest.java b/tests/robotests/src/com/android/settings/wifi/calling/LocationPolicyDisclaimerTest.java
index 108acf8..3fe9678 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/LocationPolicyDisclaimerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/LocationPolicyDisclaimerTest.java
@@ -54,7 +54,7 @@
mContext = spy(RuntimeEnvironment.application);
doReturn(mCarrierConfigManager).when(mContext).getSystemService(
- CarrierConfigManager.class);
+ Context.CARRIER_CONFIG_SERVICE);
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mBundle);
doReturn(getSharedPreferences()).when(mContext).getSharedPreferences(anyString(), anyInt());
}
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
index 252d876..d777a59 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
@@ -73,8 +73,8 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mPreference = new ListPreference(RuntimeEnvironment.application);
- when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
- when(mContext.getSystemService(TetheringManager.class)).thenReturn(mTetheringManager);
+ when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+ when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
index a423071..c1d6c16 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
@@ -17,6 +17,7 @@
package com.android.settings.wifi.tether;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -57,7 +58,8 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+ doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
+ doReturn(mTetheringManager).when(mContext).getSystemService(TetheringManager.class);
when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
mController = new WifiTetherFooterPreferenceController(mContext);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
index 8f8477f..bb61eb9 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
@@ -19,6 +19,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -75,9 +76,9 @@
.setPassphrase(INITIAL_PASSWORD, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK)
.build();
- when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+ doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
when(mWifiManager.getSoftApConfiguration()).thenReturn(mConfig);
- when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
+ doReturn(mTetheringManager).when(mContext).getSystemService(TetheringManager.class);
when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
index 147cd64..2d88722 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
@@ -19,6 +19,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -67,8 +68,8 @@
MockitoAnnotations.initMocks(this);
mPreference = new WifiTetherSsidPreference(RuntimeEnvironment.application);
- when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
- when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
+ doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
+ doReturn(mTetheringManager).when(mContext).getSystemService(TetheringManager.class);
when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index 9a34323..2ecc7d2 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -80,10 +80,10 @@
MockitoAnnotations.initMocks(this);
doReturn(mConnectivityManager)
- .when(mContext).getSystemService(ConnectivityManager.class);
- doReturn(mTetheringManager).when(mContext).getSystemService(TetheringManager.class);
+ .when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
+ doReturn(mTetheringManager).when(mContext).getSystemService(Context.TETHERING_SERVICE);
doReturn(WIFI_REGEXS).when(mTetheringManager).getTetherableWifiRegexs();
- doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
mWifiTetherSettings = new WifiTetherSettings();
}
@@ -133,7 +133,7 @@
when(settings.getContext()).thenReturn(mContext);
final Resources.Theme theme = mContext.getTheme();
when(activity.getTheme()).thenReturn(theme);
- when(activity.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(activity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
doNothing().when(settings)
.onCreatePreferences(any(Bundle.class), nullable(String.class));
final FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
diff --git a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
index 0c8ffb9..45f3693 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
@@ -74,7 +74,7 @@
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
+ doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);