release-request-5c36fbeb-1180-4a77-94d2-968e28da8f1f-for-git_pi-release-4280901 snap-temp-L36900000094197597
Change-Id: I2cc061459bd92fcdc7ce435608f75e4049e2afbb
This commit is contained in:
@@ -33,11 +33,11 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/fingerprint_backup_message"
|
||||
android:id="@+id/message"
|
||||
style="@style/SuwDescription.Glif"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone" />
|
||||
android:minLines="2"/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/password_container"
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||
android:paddingTop="@dimen/suw_description_glif_margin_top"
|
||||
android:paddingBottom="@dimen/suw_description_glif_margin_bottom_lists"
|
||||
android:text="@string/setup_lock_settings_picker_fingerprint_message" />
|
||||
android:text="@string/lock_settings_picker_fingerprint_added_security_message" />
|
||||
|
||||
@@ -1109,8 +1109,8 @@
|
||||
<!-- Title for security picker in setup wizard to choose the unlock method: None/Pattern/PIN/Password (phone) [CHAR LIMIT=22] -->
|
||||
<string name="setup_lock_settings_picker_title" product="default">Protect your phone</string>
|
||||
|
||||
<!-- Title for screen in setup wizard, prompting user to choose the their backup screen lock method [CHAR LIMIT=NONE] -->
|
||||
<string name="setup_lock_settings_picker_fingerprint_message">For added security, set up a backup screen lock.</string>
|
||||
<!-- Message shown when setting up screen lock, prompting user to choose the their backup screen lock method [CHAR LIMIT=NONE] -->
|
||||
<string name="lock_settings_picker_fingerprint_added_security_message">For added security, set up a backup screen lock.</string>
|
||||
|
||||
<!-- Description text for screen in setup wizard asking user to set up screen lock, explaining to the user how setting up a screen lock protect them from losing data. (tablet) [CHAR LIMIT=NONE] -->
|
||||
<string name="setup_lock_settings_picker_message" product="tablet">Prevent others from using this tablet without your permission by activating device protection features. Choose the screen lock you want to use.</string>
|
||||
@@ -3432,23 +3432,25 @@
|
||||
|
||||
<!-- Lock Pattern settings -->
|
||||
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_password_header">Choose your password</string>
|
||||
<string name="lockpassword_choose_your_screen_lock_header">Set a screen lock</string>
|
||||
<!-- Message on first screen of choose password flow [CHAR LIMIT=NONE] -->
|
||||
<string name="lockpassword_choose_your_password_message">For security, set a password</string>
|
||||
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_password_header_for_fingerprint">To use fingerprint, set password</string>
|
||||
<!-- Header on first screen of choose pattern flow [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_pattern_header">Choose your pattern</string>
|
||||
<!-- Header on first screen of choose pattern as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_pattern_header_for_fingerprint">To use fingerprint, set pattern</string>
|
||||
<!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_pin_header">Choose your PIN</string>
|
||||
<!-- Message on first screen of choose PIN flow [CHAR LIMIT=NONE] -->
|
||||
<string name="lockpassword_choose_your_pin_message">For security, set a PIN</string>
|
||||
<!-- Header on first screen of choose password/PIN as backup for fingerprint flow. If this string cannot be translated in under 40 characters, please translate "Set fingerprint backup" [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_choose_your_pin_header_for_fingerprint">To use fingerprint, set PIN</string>
|
||||
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
|
||||
<string name="lockpassword_confirm_your_password_header">Confirm your password</string>
|
||||
<!-- Header on password confirm screen [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_confirm_your_password_header">Re-enter your password</string>
|
||||
<!-- Header on pattern confirm screen [CHAR LIMIT=30] -->
|
||||
<string name="lockpassword_confirm_your_pattern_header">Confirm your pattern</string>
|
||||
<!-- Header on password confirm screen [CHAR LIMIT=30] -->
|
||||
<string name="lockpassword_confirm_your_pin_header">Confirm your PIN</string>
|
||||
<!-- Header on password confirm screen [CHAR LIMIT=40] -->
|
||||
<string name="lockpassword_confirm_your_pin_header">Re-enter your PIN</string>
|
||||
<!-- Header on password confirm screen if second password doesn't match the first. [CHAR LIMIT=30] -->
|
||||
<string name="lockpassword_confirm_passwords_dont_match">Passwords don\u2019t match</string>
|
||||
<!-- Header on pin confirm screen if second pin doesn't match the first. [CHAR LIMIT=30]-->
|
||||
@@ -4274,6 +4276,8 @@
|
||||
<string name="user_installed_services_category_title">Downloaded services</string>
|
||||
<!-- Title for the accessibility preference category of settings considered to be experimental, meaning they might be changed or removed in the future. [CHAR LIMIT=50] -->
|
||||
<string name="experimental_category_title">Experimental</string>
|
||||
<!-- Title for feature flags dashboard DO NOT TRANSLATE -->
|
||||
<string name="feature_flags_dashboard_title" translatable="false">Feature flags</string>
|
||||
<!-- Title for the Talkback Accessibility Service. Displayed on the Accessibility Settings screen in Setup Wizard. [CHAR_LIMIT=25] -->
|
||||
<string name="talkback_title">Talkback</string>
|
||||
<!-- Summary for the Talkback Accessibility Service. Lets the user know that Talkback is a screenreader and that it is usually most helpful to blind and low vision users and whether the service is on. [CHAR_LIMIT=none] -->
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
<style name="GlifTheme" parent="SuwThemeGlif">
|
||||
<!-- For all Alert Dialogs -->
|
||||
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
|
||||
<item name="android:colorPrimary">@color/suw_color_accent_dark</item>
|
||||
<item name="android:windowBackground">?android:attr/colorBackground</item>
|
||||
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
|
||||
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
|
||||
@@ -46,7 +45,6 @@
|
||||
<style name="GlifTheme.Light" parent="SuwThemeGlif.Light">
|
||||
<!-- For all Alert Dialogs -->
|
||||
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
|
||||
<item name="android:colorPrimary">@color/suw_color_accent_light</item>
|
||||
<item name="android:windowBackground">?android:attr/colorBackground</item>
|
||||
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
|
||||
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
|
||||
@@ -66,7 +64,6 @@
|
||||
<style name="GlifV2Theme" parent="SuwThemeGlifV2">
|
||||
<!-- For all Alert Dialogs -->
|
||||
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
|
||||
<item name="android:colorPrimary">@color/suw_color_accent_dark</item>
|
||||
<item name="android:windowBackground">?android:attr/colorBackground</item>
|
||||
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
|
||||
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
|
||||
@@ -87,7 +84,6 @@
|
||||
<style name="GlifV2Theme.Light" parent="SuwThemeGlifV2.Light">
|
||||
<!-- For all Alert Dialogs -->
|
||||
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
|
||||
<item name="android:colorPrimary">@color/suw_color_accent_light</item>
|
||||
<item name="android:windowBackground">?android:attr/colorBackground</item>
|
||||
<item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
|
||||
<item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
|
||||
|
||||
@@ -167,6 +167,11 @@
|
||||
android:key="camera_hal_hdrplus_switch"
|
||||
android:title="@string/camera_hal_hdrplus_switch" />
|
||||
|
||||
<Preference
|
||||
android:key="feature_flags_dashboard"
|
||||
android:title="@string/feature_flags_dashboard_title"
|
||||
android:fragment="com.android.settings.development.featureflags.FeatureFlagsDashboard"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:key="debug_networking_category"
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.development.featureflags;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class FeatureFlagsDashboard extends DashboardFragment {
|
||||
|
||||
private static final String TAG = "FeatureFlagsDashboard";
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsProto.MetricsEvent.SETTINGS_FEATURE_FLAGS_DASHBOARD;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getLogTag() {
|
||||
return TAG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getPreferenceScreenResId() {
|
||||
return R.xml.placeholder_prefs;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getHelpResource() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<AbstractPreferenceController> getPreferenceControllers(Context context) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -219,7 +219,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
mManagedPasswordProvider = ManagedLockPasswordProvider.get(getActivity(), mUserId);
|
||||
|
||||
if (mPasswordConfirmed) {
|
||||
updatePreferencesOrFinish();
|
||||
updatePreferencesOrFinish(savedInstanceState != null);
|
||||
if (mForChangeCredRequiredForBoot) {
|
||||
maybeEnableEncryption(mLockPatternUtils.getKeyguardStoredPasswordQuality(
|
||||
mUserId), false);
|
||||
@@ -234,7 +234,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
|| !helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST,
|
||||
getString(R.string.unlock_set_unlock_launch_picker_title), true, mUserId)) {
|
||||
mPasswordConfirmed = true; // no password set, so no need to confirm
|
||||
updatePreferencesOrFinish();
|
||||
updatePreferencesOrFinish(savedInstanceState != null);
|
||||
} else {
|
||||
mWaitingForConfirmation = true;
|
||||
}
|
||||
@@ -332,7 +332,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
|
||||
mPasswordConfirmed = true;
|
||||
mUserPassword = data.getStringExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
|
||||
updatePreferencesOrFinish();
|
||||
updatePreferencesOrFinish(false /* isRecreatingActivity */);
|
||||
if (mForChangeCredRequiredForBoot) {
|
||||
if (!TextUtils.isEmpty(mUserPassword)) {
|
||||
maybeEnableEncryption(
|
||||
@@ -395,7 +395,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
outState.putBoolean(ENCRYPT_REQUESTED_DISABLED, mEncryptionRequestDisabled);
|
||||
}
|
||||
|
||||
private void updatePreferencesOrFinish() {
|
||||
private void updatePreferencesOrFinish(boolean isRecreatingActivity) {
|
||||
Intent intent = getActivity().getIntent();
|
||||
int quality = intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, -1);
|
||||
if (quality == -1) {
|
||||
@@ -413,7 +413,8 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
updatePreferenceText();
|
||||
updateCurrentPreference();
|
||||
updatePreferenceSummaryIfNeeded();
|
||||
} else {
|
||||
} else if (!isRecreatingActivity) {
|
||||
// Don't start the activity again if we are recreated for configuration change
|
||||
updateUnlockMethodAndFinish(quality, false, true /* chooseLockSkipped */);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,6 +213,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
protected Button mCancelButton;
|
||||
private Button mClearButton;
|
||||
private Button mNextButton;
|
||||
private TextView mMessage;
|
||||
|
||||
private TextChangedHandler mTextChangedHandler;
|
||||
|
||||
@@ -247,10 +248,14 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
protected enum Stage {
|
||||
|
||||
Introduction(
|
||||
R.string.lockpassword_choose_your_password_header,
|
||||
R.string.lockpassword_choose_your_screen_lock_header,
|
||||
R.string.lockpassword_choose_your_password_header_for_fingerprint,
|
||||
R.string.lockpassword_choose_your_pin_header,
|
||||
R.string.lockpassword_choose_your_screen_lock_header,
|
||||
R.string.lockpassword_choose_your_pin_header_for_fingerprint,
|
||||
R.string.lockpassword_choose_your_password_message,
|
||||
R.string.lock_settings_picker_fingerprint_added_security_message,
|
||||
R.string.lockpassword_choose_your_pin_message,
|
||||
R.string.lock_settings_picker_fingerprint_added_security_message,
|
||||
R.string.next_label),
|
||||
|
||||
NeedToConfirm(
|
||||
@@ -258,6 +263,10 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
R.string.lockpassword_confirm_your_password_header,
|
||||
R.string.lockpassword_confirm_your_pin_header,
|
||||
R.string.lockpassword_confirm_your_pin_header,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
R.string.lockpassword_ok_label),
|
||||
|
||||
ConfirmWrong(
|
||||
@@ -265,14 +274,25 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
R.string.lockpassword_confirm_passwords_dont_match,
|
||||
R.string.lockpassword_confirm_pins_dont_match,
|
||||
R.string.lockpassword_confirm_pins_dont_match,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
R.string.next_label);
|
||||
|
||||
Stage(int hintInAlpha, int hintInAlphaForFingerprint,
|
||||
int hintInNumeric, int hintInNumericForFingerprint, int nextButtonText) {
|
||||
int hintInNumeric, int hintInNumericForFingerprint,
|
||||
int messageInAlpha, int messageInAlphaForFingerprint,
|
||||
int messageInNumeric, int messageInNumericForFingerprint,
|
||||
int nextButtonText) {
|
||||
this.alphaHint = hintInAlpha;
|
||||
this.alphaHintForFingerprint = hintInAlphaForFingerprint;
|
||||
this.numericHint = hintInNumeric;
|
||||
this.numericHintForFingerprint = hintInNumericForFingerprint;
|
||||
this.alphaMessage = messageInAlpha;
|
||||
this.alphaMessageForFingerprint = messageInAlphaForFingerprint;
|
||||
this.numericMessage = messageInNumeric;
|
||||
this.numericMessageForFingerprint = messageInNumericForFingerprint;
|
||||
this.buttonText = nextButtonText;
|
||||
}
|
||||
|
||||
@@ -280,6 +300,10 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
public final int alphaHintForFingerprint;
|
||||
public final int numericHint;
|
||||
public final int numericHintForFingerprint;
|
||||
public final int alphaMessage;
|
||||
public final int alphaMessageForFingerprint;
|
||||
public final int numericMessage;
|
||||
public final int numericMessageForFingerprint;
|
||||
public final int buttonText;
|
||||
|
||||
public @StringRes int getHint(boolean isAlpha, boolean isFingerprint) {
|
||||
@@ -289,6 +313,14 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
return isFingerprint ? numericHintForFingerprint : numericHint;
|
||||
}
|
||||
}
|
||||
|
||||
public @StringRes int getMessage(boolean isAlpha, boolean isFingerprint) {
|
||||
if (isAlpha) {
|
||||
return isFingerprint ? alphaMessageForFingerprint : alphaMessage;
|
||||
} else {
|
||||
return isFingerprint ? numericMessageForFingerprint : numericMessage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// required constructor for fragments
|
||||
@@ -351,14 +383,9 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
mClearButton = view.findViewById(R.id.clear_button);
|
||||
mClearButton.setOnClickListener(this);
|
||||
|
||||
|
||||
mMessage = view.findViewById(R.id.message);
|
||||
if (mForFingerprint) {
|
||||
TextView fingerprintBackupMessage =
|
||||
view.findViewById(R.id.fingerprint_backup_message);
|
||||
if (fingerprintBackupMessage != null) {
|
||||
fingerprintBackupMessage.setVisibility(View.VISIBLE);
|
||||
fingerprintBackupMessage
|
||||
.setText(R.string.setup_lock_settings_picker_fingerprint_message);
|
||||
}
|
||||
mLayout.setIcon(getActivity().getDrawable(R.drawable.ic_fingerprint_header));
|
||||
}
|
||||
|
||||
@@ -848,6 +875,13 @@ public class ChooseLockPassword extends SettingsActivity {
|
||||
setNextEnabled(canInput && length > 0);
|
||||
mClearButton.setEnabled(canInput && length > 0);
|
||||
}
|
||||
int message = mUiStage.getMessage(mIsAlphaMode, mForFingerprint);
|
||||
if (message != 0) {
|
||||
mMessage.setVisibility(View.VISIBLE);
|
||||
mMessage.setText(message);
|
||||
} else {
|
||||
mMessage.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
|
||||
mClearButton.setVisibility(toVisibility(mUiStage != Stage.Introduction));
|
||||
mCancelButton.setVisibility(toVisibility(mUiStage == Stage.Introduction));
|
||||
|
||||
@@ -18,13 +18,9 @@ package com.android.settings.wifi;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.icu.text.Collator;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.hotspot2.PasspointConfiguration;
|
||||
import android.os.Bundle;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.util.Log;
|
||||
@@ -33,15 +29,11 @@ import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
import com.android.settings.search.SearchIndexableRaw;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
import com.android.settingslib.wifi.AccessPointPreference;
|
||||
import com.android.settingslib.wifi.WifiSavedConfigUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@@ -51,7 +43,7 @@ import java.util.List;
|
||||
*/
|
||||
public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
|
||||
implements Indexable, WifiDialog.WifiDialogListener {
|
||||
private static final String TAG = "SavedAccessPointsWifiSettings";
|
||||
private static final String TAG = "SavedAccessPoints";
|
||||
private static final Comparator<AccessPoint> SAVED_NETWORK_COMPARATOR =
|
||||
new Comparator<AccessPoint>() {
|
||||
final Collator mCollator = Collator.getInstance();
|
||||
@@ -239,47 +231,4 @@ public class SavedAccessPointsWifiSettings extends SettingsPreferenceFragment
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* For search.
|
||||
*/
|
||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
||||
boolean enabled) {
|
||||
SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.wifi_display_saved_access_points;
|
||||
return Arrays.asList(sir);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
|
||||
final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
|
||||
final Resources res = context.getResources();
|
||||
final String title = res.getString(R.string.wifi_saved_access_points_titlebar);
|
||||
|
||||
// Add fragment title
|
||||
SearchIndexableRaw data = new SearchIndexableRaw(context);
|
||||
data.title = title;
|
||||
data.screenTitle = title;
|
||||
data.enabled = enabled;
|
||||
result.add(data);
|
||||
|
||||
// Add available Wi-Fi access points
|
||||
final List<AccessPoint> accessPoints = WifiSavedConfigUtils.getAllConfigs(
|
||||
context, context.getSystemService(WifiManager.class));
|
||||
|
||||
final int accessPointsSize = accessPoints.size();
|
||||
for (int i = 0; i < accessPointsSize; ++i){
|
||||
data = new SearchIndexableRaw(context);
|
||||
data.title = accessPoints.get(i).getSsidStr();
|
||||
data.screenTitle = title;
|
||||
data.enabled = enabled;
|
||||
result.add(data);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
private Network mNetwork;
|
||||
private NetworkInfo mNetworkInfo;
|
||||
private NetworkCapabilities mNetworkCapabilities;
|
||||
private int mRssi;
|
||||
private int mRssiSignalLevel = -1;
|
||||
private String[] mSignalStr;
|
||||
private final WifiConfiguration mWifiConfig;
|
||||
private WifiInfo mWifiInfo;
|
||||
@@ -338,7 +338,6 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
refreshNetworkState();
|
||||
|
||||
// Update Connection Header icon and Signal Strength Preference
|
||||
mRssi = mWifiInfo.getRssi();
|
||||
refreshRssiViews();
|
||||
|
||||
// MAC Address Pref
|
||||
@@ -381,9 +380,13 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
}
|
||||
|
||||
private void refreshRssiViews() {
|
||||
int iconSignalLevel = WifiManager.calculateSignalLevel(
|
||||
mRssi, WifiManager.RSSI_LEVELS);
|
||||
Drawable wifiIcon = mIconInjector.getIcon(iconSignalLevel);
|
||||
int signalLevel = mAccessPoint.getLevel();
|
||||
|
||||
if (mRssiSignalLevel == signalLevel) {
|
||||
return;
|
||||
}
|
||||
mRssiSignalLevel = signalLevel;
|
||||
Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
|
||||
|
||||
wifiIcon.setTint(Utils.getColorAccent(mContext));
|
||||
mEntityHeaderController.setIcon(wifiIcon).done(mFragment.getActivity(), true /* rebind */);
|
||||
@@ -393,8 +396,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
R.color.wifi_details_icon_color, mContext.getTheme()));
|
||||
mSignalStrengthPref.setIcon(wifiIconDark);
|
||||
|
||||
int summarySignalLevel = mAccessPoint.getLevel();
|
||||
mSignalStrengthPref.setDetailText(mSignalStr[summarySignalLevel]);
|
||||
mSignalStrengthPref.setDetailText(mSignalStr[mRssiSignalLevel]);
|
||||
}
|
||||
|
||||
private void updatePreference(WifiDetailPreference pref, String detailText) {
|
||||
|
||||
@@ -4,6 +4,7 @@ com.android.settings.bluetooth.BluetoothPairingDetail
|
||||
com.android.settings.accounts.AccountDetailDashboardFragment
|
||||
com.android.settings.fuelgauge.PowerUsageAnomalyDetails
|
||||
com.android.settings.fuelgauge.AdvancedPowerUsageDetail
|
||||
com.android.settings.development.featureflags.FeatureFlagsDashboard
|
||||
com.android.settings.deviceinfo.StorageProfileFragment
|
||||
com.android.settings.wifi.details.WifiNetworkDetailsFragment
|
||||
com.android.settings.wifi.p2p.WifiP2pSettings
|
||||
@@ -13,3 +14,4 @@ com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionMi
|
||||
com.android.settings.enterprise.ApplicationListFragment$EnterpriseInstalledPackages
|
||||
com.android.settings.enterprise.EnterpriseSetDefaultAppsListFragment
|
||||
com.android.settings.wifi.tether.WifiTetherSettings
|
||||
com.android.settings.wifi.SavedAccessPointsWifiSettings
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.development.featureflags;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.TestConfig;
|
||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class FeatureFlagsDashboardTest {
|
||||
|
||||
private FeatureFlagsDashboard mDashboard;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mDashboard = new FeatureFlagsDashboard();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotHaveHelpResource() {
|
||||
assertThat(mDashboard.getHelpResource()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldLogAsFeatureFlagPage() {
|
||||
assertThat(mDashboard.getMetricsCategory())
|
||||
.isEqualTo(MetricsProto.MetricsEvent.SETTINGS_FEATURE_FLAGS_DASHBOARD);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldUsePlaceholderPreferenceLayout() {
|
||||
assertThat(mDashboard.getPreferenceScreenResId())
|
||||
.isEqualTo(R.xml.placeholder_prefs);
|
||||
}
|
||||
}
|
||||
@@ -745,4 +745,24 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockMetricsFeatureProvider)
|
||||
.action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRefreshRssiViews_shouldNotUpdateIfLevelIsSame() {
|
||||
displayAndResume();
|
||||
|
||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
||||
|
||||
verify(mockAccessPoint, times(2)).getLevel();
|
||||
verify(mockIconInjector, times(1)).getIcon(anyInt());
|
||||
}
|
||||
@Test
|
||||
public void testRefreshRssiViews_shouldUpdateOnLevelChange() {
|
||||
displayAndResume();
|
||||
|
||||
when(mockAccessPoint.getLevel()).thenReturn(0);
|
||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
||||
|
||||
verify(mockAccessPoint, times(2)).getLevel();
|
||||
verify(mockIconInjector, times(2)).getIcon(anyInt());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user