Merge "One updateSummary method called by all VPN prefs"
This commit is contained in:
@@ -32,9 +32,8 @@ import com.android.internal.net.VpnConfig;
|
||||
*/
|
||||
public class AppPreference extends ManageablePreference {
|
||||
public static final int STATE_CONNECTED = LegacyVpnInfo.STATE_CONNECTED;
|
||||
public static final int STATE_DISCONNECTED = LegacyVpnInfo.STATE_DISCONNECTED;
|
||||
public static final int STATE_DISCONNECTED = STATE_NONE;
|
||||
|
||||
private int mState = STATE_DISCONNECTED;
|
||||
private String mPackageName;
|
||||
private String mName;
|
||||
|
||||
@@ -70,22 +69,11 @@ public class AppPreference extends ManageablePreference {
|
||||
update();
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
mState = state;
|
||||
update();
|
||||
}
|
||||
|
||||
private void update() {
|
||||
if (mPackageName == null || mUserId == UserHandle.USER_NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
setSummary(getSummaryString(mState == STATE_DISCONNECTED ? STATE_NONE : mState));
|
||||
|
||||
mName = mPackageName;
|
||||
Drawable icon = null;
|
||||
|
||||
@@ -113,6 +101,7 @@ public class AppPreference extends ManageablePreference {
|
||||
}
|
||||
setTitle(mName);
|
||||
setIcon(icon);
|
||||
updateSummary();
|
||||
|
||||
notifyHierarchyChanged();
|
||||
}
|
||||
|
@@ -31,9 +31,6 @@ import static com.android.internal.net.LegacyVpnInfo.STATE_CONNECTED;
|
||||
public class LegacyVpnPreference extends ManageablePreference {
|
||||
private VpnProfile mProfile;
|
||||
|
||||
/** One of the STATE_* fields from LegacyVpnInfo, or STATE_NONE */
|
||||
private int mState = STATE_NONE;
|
||||
|
||||
LegacyVpnPreference(Context context) {
|
||||
super(context, null /* attrs */);
|
||||
}
|
||||
@@ -44,16 +41,6 @@ public class LegacyVpnPreference extends ManageablePreference {
|
||||
|
||||
public void setProfile(VpnProfile profile) {
|
||||
mProfile = profile;
|
||||
update();
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
mState = state;
|
||||
update();
|
||||
}
|
||||
|
||||
private void update() {
|
||||
setSummary(getSummaryString(mState));
|
||||
if (mProfile != null) {
|
||||
setIcon(R.mipmap.ic_launcher_settings);
|
||||
setTitle(mProfile.name);
|
||||
@@ -93,5 +80,4 @@ public class LegacyVpnPreference extends ManageablePreference {
|
||||
}
|
||||
super.onClick(v);
|
||||
}
|
||||
|
||||
}
|
@@ -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