One updateSummary method called by all VPN prefs
Having multiple methods means inevitably when new features are added to
the preferences, the right calls aren't made so information on the
screen lags between updates.
Bug: 28257641
Change-Id: I336aeefd5941ccf808dc9070427209a7d2530032
(cherry picked from commit 903843e6f9
)
This commit is contained in:
@@ -34,6 +34,7 @@ public abstract class ManageablePreference extends GearPreference {
|
||||
public static int STATE_NONE = -1;
|
||||
|
||||
boolean mIsAlwaysOn = false;
|
||||
int mState = STATE_NONE;
|
||||
int mUserId;
|
||||
|
||||
public ManageablePreference(Context context, AttributeSet attrs) {
|
||||
@@ -56,24 +57,35 @@ public abstract class ManageablePreference extends GearPreference {
|
||||
return mIsAlwaysOn;
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
mState = state;
|
||||
updateSummary();
|
||||
}
|
||||
|
||||
public void setAlwaysOn(boolean isEnabled) {
|
||||
mIsAlwaysOn = isEnabled;
|
||||
updateSummary();
|
||||
}
|
||||
|
||||
/**
|
||||
* State is not shown for {@code STATE_NONE}
|
||||
* Update the preference summary string (see {@see Preference#setSummary}) with a string
|
||||
* reflecting connection status and always-on setting.
|
||||
*
|
||||
* @return summary string showing current connection state and always-on-vpn state
|
||||
* State is not shown for {@code STATE_NONE}.
|
||||
*/
|
||||
protected String getSummaryString(int state) {
|
||||
protected void updateSummary() {
|
||||
final Resources res = getContext().getResources();
|
||||
final String[] states = res.getStringArray(R.array.vpn_states);
|
||||
String summary = state == STATE_NONE ? "" : states[state];
|
||||
String summary = (mState == STATE_NONE ? "" : states[mState]);
|
||||
if (mIsAlwaysOn) {
|
||||
final String alwaysOnString = res.getString(R.string.vpn_always_on_active);
|
||||
summary = TextUtils.isEmpty(summary) ? alwaysOnString : res.getString(
|
||||
R.string.join_two_unrelated_items, summary, alwaysOnString);
|
||||
}
|
||||
return summary;
|
||||
setSummary(summary);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user