resolve merge conflicts of 0ee60c0
to master
Change-Id: Id371c6f3687dc35f87c4a93f032bfc5ca87d15ab
This commit is contained in:
@@ -765,8 +765,12 @@
|
|||||||
<string name="security_settings_fingerprint_preference_summary_none"></string>
|
<string name="security_settings_fingerprint_preference_summary_none"></string>
|
||||||
<!-- Introduction title shown in fingerprint enrollment to introduce the fingerprint feature[CHAR LIMIT=29] -->
|
<!-- Introduction title shown in fingerprint enrollment to introduce the fingerprint feature[CHAR LIMIT=29] -->
|
||||||
<string name="security_settings_fingerprint_enroll_introduction_title">Unlock with fingerprint</string>
|
<string name="security_settings_fingerprint_enroll_introduction_title">Unlock with fingerprint</string>
|
||||||
|
<!-- Introduction title shown in fingerprint enrollment to introduce the fingerprint feature, when fingerprint unlock is disabed by device admin [CHAR LIMIT=29] -->
|
||||||
|
<string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled">Use your fingerprint</string>
|
||||||
<!-- Introduction detail message shown in fingerprint enrollment dialog [CHAR LIMIT=NONE]-->
|
<!-- Introduction detail message shown in fingerprint enrollment dialog [CHAR LIMIT=NONE]-->
|
||||||
<string name="security_settings_fingerprint_enroll_introduction_message">Just touch the fingerprint sensor to unlock your phone, authorize purchases, or sign in to apps. Be careful whose fingerprints you add. Even one added print can do any of these things.\n\nNote: Your fingerprint may be less secure than a strong pattern or PIN.</string>
|
<string name="security_settings_fingerprint_enroll_introduction_message">Just touch the fingerprint sensor to unlock your phone, authorize purchases, or sign in to apps. Be careful whose fingerprints you add. Even one added print can do any of these things.\n\nNote: Your fingerprint may be less secure than a strong pattern or PIN.</string>
|
||||||
|
<!-- Introduction detail message shown in fingerprint enrollment dialog, when fingerprint unlock is disabled by device admin [CHAR LIMIT=NONE]-->
|
||||||
|
<string name="security_settings_fingerprint_enroll_introduction_message_unlock_disabled">Just touch the fingerprint sensor to authorize purchases, or sign in to apps. Be careful whose fingerprints you add. Even one added print can do any of these things.\n\nNote: You can\u2019t use your fingerprint to unlock this device. For more information, contact your organization\u2019s admin.</string>
|
||||||
<!-- Introduction detail message shown in fingerprint enrollment screen in setup wizard. [CHAR LIMIT=NONE]-->
|
<!-- Introduction detail message shown in fingerprint enrollment screen in setup wizard. [CHAR LIMIT=NONE]-->
|
||||||
<string name="security_settings_fingerprint_enroll_introduction_message_setup">Just touch the fingerprint sensor to unlock your phone, authorize purchases, or sign in to apps. Be careful whose fingerprints you add. Even one added print can do any of these things.\n\nNote: Your fingerprint may be less secure than a strong pattern or PIN.</string>
|
<string name="security_settings_fingerprint_enroll_introduction_message_setup">Just touch the fingerprint sensor to unlock your phone, authorize purchases, or sign in to apps. Be careful whose fingerprints you add. Even one added print can do any of these things.\n\nNote: Your fingerprint may be less secure than a strong pattern or PIN.</string>
|
||||||
<!-- Button text to cancel enrollment from the introduction [CHAR LIMIT=22] -->
|
<!-- Button text to cancel enrollment from the introduction [CHAR LIMIT=22] -->
|
||||||
|
@@ -21,6 +21,10 @@
|
|||||||
android:key="billing_cycle"
|
android:key="billing_cycle"
|
||||||
android:title="@string/billing_cycle" />
|
android:title="@string/billing_cycle" />
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="set_data_warning"
|
||||||
|
android:title="@string/set_data_warning"/>
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="data_warning"
|
android:key="data_warning"
|
||||||
android:title="@string/data_warning" />
|
android:title="@string/data_warning" />
|
||||||
|
@@ -34,6 +34,7 @@ public class SummaryPreference extends Preference {
|
|||||||
|
|
||||||
private int mLeft, mMiddle, mRight;
|
private int mLeft, mMiddle, mRight;
|
||||||
private boolean mColorsSet = false;
|
private boolean mColorsSet = false;
|
||||||
|
private boolean mChartEnabled = true;
|
||||||
private float mLeftRatio, mMiddleRatio, mRightRatio;
|
private float mLeftRatio, mMiddleRatio, mRightRatio;
|
||||||
private String mStartLabel;
|
private String mStartLabel;
|
||||||
private String mEndLabel;
|
private String mEndLabel;
|
||||||
@@ -43,6 +44,13 @@ public class SummaryPreference extends Preference {
|
|||||||
setLayoutResource(R.layout.settings_summary_preference);
|
setLayoutResource(R.layout.settings_summary_preference);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setChartEnabled(boolean enabled) {
|
||||||
|
if (mChartEnabled != enabled) {
|
||||||
|
mChartEnabled = enabled;
|
||||||
|
notifyChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setAmount(String amount) {
|
public void setAmount(String amount) {
|
||||||
mAmount = amount;
|
mAmount = amount;
|
||||||
if (mAmount != null && mUnits != null) {
|
if (mAmount != null && mUnits != null) {
|
||||||
@@ -85,12 +93,18 @@ public class SummaryPreference extends Preference {
|
|||||||
super.onBindViewHolder(holder);
|
super.onBindViewHolder(holder);
|
||||||
|
|
||||||
LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar);
|
LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar);
|
||||||
colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio);
|
|
||||||
if (mColorsSet) {
|
if (mChartEnabled) {
|
||||||
colorBar.setColors(mLeft, mMiddle, mRight);
|
colorBar.setVisibility(View.VISIBLE);
|
||||||
|
colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio);
|
||||||
|
if (mColorsSet) {
|
||||||
|
colorBar.setColors(mLeft, mMiddle, mRight);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
colorBar.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel)) {
|
if (mChartEnabled && (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel))) {
|
||||||
holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE);
|
holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE);
|
||||||
((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel);
|
((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel);
|
||||||
((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel);
|
((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel);
|
||||||
|
@@ -34,6 +34,7 @@ import android.view.View;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.NumberPicker;
|
import android.widget.NumberPicker;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
@@ -56,6 +57,7 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
private static final String TAG_WARNING_EDITOR = "warningEditor";
|
private static final String TAG_WARNING_EDITOR = "warningEditor";
|
||||||
|
|
||||||
private static final String KEY_BILLING_CYCLE = "billing_cycle";
|
private static final String KEY_BILLING_CYCLE = "billing_cycle";
|
||||||
|
private static final String KEY_SET_DATA_WARNING = "set_data_warning";
|
||||||
private static final String KEY_DATA_WARNING = "data_warning";
|
private static final String KEY_DATA_WARNING = "data_warning";
|
||||||
private static final String KEY_SET_DATA_LIMIT = "set_data_limit";
|
private static final String KEY_SET_DATA_LIMIT = "set_data_limit";
|
||||||
private static final String KEY_DATA_LIMIT = "data_limit";
|
private static final String KEY_DATA_LIMIT = "data_limit";
|
||||||
@@ -63,6 +65,7 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
private NetworkTemplate mNetworkTemplate;
|
private NetworkTemplate mNetworkTemplate;
|
||||||
private Preference mBillingCycle;
|
private Preference mBillingCycle;
|
||||||
private Preference mDataWarning;
|
private Preference mDataWarning;
|
||||||
|
private SwitchPreference mEnableDataWarning;
|
||||||
private SwitchPreference mEnableDataLimit;
|
private SwitchPreference mEnableDataLimit;
|
||||||
private Preference mDataLimit;
|
private Preference mDataLimit;
|
||||||
private DataUsageController mDataUsageController;
|
private DataUsageController mDataUsageController;
|
||||||
@@ -78,6 +81,8 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
|
|
||||||
addPreferencesFromResource(R.xml.billing_cycle);
|
addPreferencesFromResource(R.xml.billing_cycle);
|
||||||
mBillingCycle = findPreference(KEY_BILLING_CYCLE);
|
mBillingCycle = findPreference(KEY_BILLING_CYCLE);
|
||||||
|
mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING);
|
||||||
|
mEnableDataWarning.setOnPreferenceChangeListener(this);
|
||||||
mDataWarning = findPreference(KEY_DATA_WARNING);
|
mDataWarning = findPreference(KEY_DATA_WARNING);
|
||||||
mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
|
mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
|
||||||
mEnableDataLimit.setOnPreferenceChangeListener(this);
|
mEnableDataLimit.setOnPreferenceChangeListener(this);
|
||||||
@@ -94,10 +99,15 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate);
|
NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate);
|
||||||
mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ?
|
mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ?
|
||||||
policy.cycleDay : 1));
|
policy.cycleDay : 1));
|
||||||
mDataWarning.setSummary(Formatter.formatFileSize(getContext(),
|
if (policy != null && policy.warningBytes != WARNING_DISABLED) {
|
||||||
policy != null
|
mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy.warningBytes));
|
||||||
? policy.warningBytes
|
mDataWarning.setEnabled(true);
|
||||||
: mDataUsageController.getDefaultWarningLevel()));
|
mEnableDataWarning.setChecked(true);
|
||||||
|
} else {
|
||||||
|
mDataWarning.setSummary(null);
|
||||||
|
mDataWarning.setEnabled(false);
|
||||||
|
mEnableDataWarning.setChecked(false);
|
||||||
|
}
|
||||||
if (policy != null && policy.limitBytes != LIMIT_DISABLED) {
|
if (policy != null && policy.limitBytes != LIMIT_DISABLED) {
|
||||||
mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes));
|
mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes));
|
||||||
mDataLimit.setEnabled(true);
|
mDataLimit.setEnabled(true);
|
||||||
@@ -134,6 +144,14 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
setPolicyLimitBytes(LIMIT_DISABLED);
|
setPolicyLimitBytes(LIMIT_DISABLED);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
} else if (mEnableDataWarning == preference) {
|
||||||
|
boolean enabled = (Boolean) newValue;
|
||||||
|
if (enabled) {
|
||||||
|
setPolicyWarningBytes(mDataUsageController.getDefaultWarningLevel());
|
||||||
|
} else {
|
||||||
|
setPolicyWarningBytes(WARNING_DISABLED);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -149,6 +167,12 @@ public class BillingCycleSettings extends DataUsageBase implements
|
|||||||
updatePrefs();
|
updatePrefs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setPolicyWarningBytes(long warningBytes) {
|
||||||
|
if (LOGD) Log.d(TAG, "setPolicyWarningBytes()");
|
||||||
|
services.mPolicyEditor.setPolicyWarningBytes(mNetworkTemplate, warningBytes);
|
||||||
|
updatePrefs();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public NetworkPolicyEditor getNetworkPolicyEditor() {
|
public NetworkPolicyEditor getNetworkPolicyEditor() {
|
||||||
return services.mPolicyEditor;
|
return services.mPolicyEditor;
|
||||||
|
@@ -234,16 +234,24 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs
|
|||||||
formatTitle(context, getString(mDataUsageTemplate), info.usageLevel));
|
formatTitle(context, getString(mDataUsageTemplate), info.usageLevel));
|
||||||
long limit = mDataInfoController.getSummaryLimit(info);
|
long limit = mDataInfoController.getSummaryLimit(info);
|
||||||
mSummaryPreference.setSummary(info.period);
|
mSummaryPreference.setSummary(info.period);
|
||||||
mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0),
|
|
||||||
Formatter.formatFileSize(context, limit));
|
if (limit <= 0) {
|
||||||
mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0,
|
mSummaryPreference.setChartEnabled(false);
|
||||||
(limit - info.usageLevel) / (float) limit);
|
} else {
|
||||||
|
mSummaryPreference.setChartEnabled(true);
|
||||||
|
mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0),
|
||||||
|
Formatter.formatFileSize(context, limit));
|
||||||
|
mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0,
|
||||||
|
(limit - info.usageLevel) / (float) limit);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (mLimitPreference != null) {
|
if (mLimitPreference != null && (info.warningLevel > 0 || info.limitLevel > 0)) {
|
||||||
String warning = Formatter.formatFileSize(context, info.warningLevel);
|
String warning = Formatter.formatFileSize(context, info.warningLevel);
|
||||||
String limit = Formatter.formatFileSize(context, info.limitLevel);
|
String limit = Formatter.formatFileSize(context, info.limitLevel);
|
||||||
mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only
|
mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only
|
||||||
: R.string.cell_warning_and_limit, warning, limit));
|
: R.string.cell_warning_and_limit, warning, limit));
|
||||||
|
} else if (mLimitPreference != null) {
|
||||||
|
mLimitPreference.setSummary(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
PreferenceScreen screen = getPreferenceScreen();
|
PreferenceScreen screen = getPreferenceScreen();
|
||||||
|
@@ -26,12 +26,14 @@ import android.os.UserManager;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.ChooseLockGeneric;
|
import com.android.settings.ChooseLockGeneric;
|
||||||
import com.android.settings.ChooseLockSettingsHelper;
|
import com.android.settings.ChooseLockSettingsHelper;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settingslib.HelpUtils;
|
import com.android.settingslib.HelpUtils;
|
||||||
|
import com.android.settingslib.RestrictedLockUtils;
|
||||||
import com.android.setupwizardlib.span.LinkSpan;
|
import com.android.setupwizardlib.span.LinkSpan;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,12 +50,21 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
|
|||||||
|
|
||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
private boolean mHasPassword;
|
private boolean mHasPassword;
|
||||||
|
private boolean mFingerprintUnlockDisabledByAdmin;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
mFingerprintUnlockDisabledByAdmin = RestrictedLockUtils.checkIfKeyguardFeaturesDisabled(
|
||||||
|
this, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, mUserId) != null;
|
||||||
|
|
||||||
setContentView(R.layout.fingerprint_enroll_introduction);
|
setContentView(R.layout.fingerprint_enroll_introduction);
|
||||||
setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title);
|
if (mFingerprintUnlockDisabledByAdmin) {
|
||||||
|
setHeaderText(R.string
|
||||||
|
.security_settings_fingerprint_enroll_introduction_title_unlock_disabled);
|
||||||
|
} else {
|
||||||
|
setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title);
|
||||||
|
}
|
||||||
|
|
||||||
final Button cancelButton = (Button) findViewById(R.id.fingerprint_cancel_button);
|
final Button cancelButton = (Button) findViewById(R.id.fingerprint_cancel_button);
|
||||||
cancelButton.setOnClickListener(this);
|
cancelButton.setOnClickListener(this);
|
||||||
@@ -160,6 +171,17 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initViews() {
|
||||||
|
super.initViews();
|
||||||
|
|
||||||
|
TextView description = (TextView) findViewById(R.id.description_text);
|
||||||
|
if (mFingerprintUnlockDisabledByAdmin) {
|
||||||
|
description.setText(R.string
|
||||||
|
.security_settings_fingerprint_enroll_introduction_message_unlock_disabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(LinkSpan span) {
|
public void onClick(LinkSpan span) {
|
||||||
if ("url".equals(span.getId())) {
|
if ("url".equals(span.getId())) {
|
||||||
|
Reference in New Issue
Block a user