Loading core/java/android/app/AirplaneModeSettings.java 0 → 100644 +133 −0 Original line number Diff line number Diff line package android.app; import android.content.Context; import android.content.Intent; import android.provider.Settings; import android.os.Parcel; import android.os.Parcelable; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; /** @hide */ public final class AirplaneModeSettings implements Parcelable { private int mValue; private boolean mOverride; private boolean mDirty; /** @hide */ public static final Parcelable.Creator<AirplaneModeSettings> CREATOR = new Parcelable.Creator<AirplaneModeSettings>() { public AirplaneModeSettings createFromParcel(Parcel in) { return new AirplaneModeSettings(in); } @Override public AirplaneModeSettings[] newArray(int size) { return new AirplaneModeSettings[size]; } }; public AirplaneModeSettings(Parcel parcel) { readFromParcel(parcel); } public AirplaneModeSettings() { this(0, false); } public AirplaneModeSettings(int value, boolean override) { mValue = value; mOverride = override; mDirty = false; } public int getValue() { return mValue; } public void setValue(int value) { mValue = value; mDirty = true; } public void setOverride(boolean override) { mOverride = override; mDirty = true; } public boolean isOverride() { return mOverride; } /** @hide */ public boolean isDirty() { return mDirty; } public void processOverride(Context context) { if (isOverride()) { int current = Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0); if (current != mValue) { Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, mValue); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", mValue == 1); context.sendBroadcast(intent); } } } /** @hide */ public static AirplaneModeSettings fromXml(XmlPullParser xpp, Context context) throws XmlPullParserException, IOException { int event = xpp.next(); AirplaneModeSettings connectionDescriptor = new AirplaneModeSettings(); while (event != XmlPullParser.END_TAG) { if (event == XmlPullParser.START_TAG) { String name = xpp.getName(); if (name.equals("value")) { connectionDescriptor.mValue = Integer.parseInt(xpp.nextText()); } else if (name.equals("override")) { connectionDescriptor.mOverride = Boolean.parseBoolean(xpp.nextText()); } } event = xpp.next(); } return connectionDescriptor; } /** @hide */ public void getXmlString(StringBuilder builder, Context context) { builder.append("<airplaneModeDescriptor>\n<value>"); builder.append(mValue); builder.append("</value>\n<override>"); builder.append(mOverride); builder.append("</override>\n</airplaneModeDescriptor>\n"); } @Override public int describeContents() { return 0; } /** @hide */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(mOverride ? 1 : 0); dest.writeInt(mValue); dest.writeInt(mDirty ? 1 : 0); } /** @hide */ public void readFromParcel(Parcel in) { mOverride = in.readInt() != 0; mValue = in.readInt(); mDirty = in.readInt() != 0; } } core/java/android/app/Profile.java +19 −38 Original line number Diff line number Diff line Loading @@ -17,12 +17,10 @@ package android.app; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import android.os.Parcel; import android.os.ParcelUuid; import android.os.Parcelable; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -72,9 +70,9 @@ public final class Profile implements Parcelable, Comparable { private SilentModeSettings mSilentMode = new SilentModeSettings(); private int mScreenLockMode = LockMode.DEFAULT; private AirplaneModeSettings mAirplaneMode = new AirplaneModeSettings(); private int mAirplaneMode = AirplaneMode.DEFAULT; private int mScreenLockMode = LockMode.DEFAULT; /** @hide */ public static class LockMode { Loading @@ -83,13 +81,6 @@ public final class Profile implements Parcelable, Comparable { public static final int DISABLE = 2; } /** @hide */ public static class AirplaneMode { public static final int DEFAULT = 0; public static final int ENABLE = 1; public static final int DISABLE = 2; } /** @hide */ public static final Parcelable.Creator<Profile> CREATOR = new Parcelable.Creator<Profile>() { public Profile createFromParcel(Parcel in) { Loading Loading @@ -191,8 +182,8 @@ public final class Profile implements Parcelable, Comparable { dest.writeParcelableArray( connections.values().toArray(new Parcelable[connections.size()]), flags); dest.writeParcelable(mSilentMode, flags); dest.writeParcelable(mAirplaneMode, flags); dest.writeInt(mScreenLockMode); dest.writeInt(mAirplaneMode); } /** @hide */ Loading Loading @@ -223,8 +214,8 @@ public final class Profile implements Parcelable, Comparable { connections.put(connection.getConnectionId(), connection); } mSilentMode = (SilentModeSettings) in.readParcelable(null); mAirplaneMode = (AirplaneModeSettings) in.readParcelable(null); mScreenLockMode = in.readInt(); mAirplaneMode = in.readInt(); } public String getName() { Loading Loading @@ -294,7 +285,7 @@ public final class Profile implements Parcelable, Comparable { return mSilentMode; } public void setSilentMode(SilentModeSettings descriptor) { // FIXME public void setSilentMode(SilentModeSettings descriptor) { mSilentMode = descriptor; mDirty = true; } Loading @@ -312,16 +303,12 @@ public final class Profile implements Parcelable, Comparable { mDirty = true; } public int getAirplaneMode() { public AirplaneModeSettings getAirplaneMode() { return mAirplaneMode; } public void setAirplaneMode(int airplaneMode) { if (airplaneMode < AirplaneMode.DEFAULT || airplaneMode > AirplaneMode.DISABLE) { mAirplaneMode = AirplaneMode.DEFAULT; } else { mAirplaneMode = airplaneMode; } public void setAirplaneMode(AirplaneModeSettings descriptor) { mAirplaneMode = descriptor; mDirty = true; } Loading @@ -345,6 +332,12 @@ public final class Profile implements Parcelable, Comparable { return true; } } if (mSilentMode.isDirty()) { return true; } if (mAirplaneMode.isDirty()) { return true; } return false; } Loading Loading @@ -479,12 +472,13 @@ public final class Profile implements Parcelable, Comparable { SilentModeSettings smd = SilentModeSettings.fromXml(xpp, context); profile.setSilentMode(smd); } if (name.equals("airplaneModeDescriptor")) { AirplaneModeSettings amd = AirplaneModeSettings.fromXml(xpp, context); profile.setAirplaneMode(amd); } if (name.equals("screen-lock-mode")) { profile.setScreenLockMode(Integer.valueOf(xpp.nextText())); } if (name.equals("airplane-mode")) { profile.setAirplaneMode(Integer.valueOf(xpp.nextText())); } if (name.equals("profileGroup")) { ProfileGroup pg = ProfileGroup.fromXml(xpp, context); profile.addProfileGroup(pg); Loading Loading @@ -525,20 +519,7 @@ public final class Profile implements Parcelable, Comparable { // Set silent mode mSilentMode.processOverride(context); // Set airplane mode doSelectAirplaneMode(context); } private void doSelectAirplaneMode(Context context) { if (getAirplaneMode() != AirplaneMode.DEFAULT) { int current = Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0); int target = getAirplaneMode(); if (current == 1 && target == AirplaneMode.DISABLE || current == 0 && target == AirplaneMode.ENABLE) { Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1 - current); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", target != AirplaneMode.DISABLE); context.sendBroadcast(intent); } } mAirplaneMode.processOverride(context); } /** @hide */ Loading Loading
core/java/android/app/AirplaneModeSettings.java 0 → 100644 +133 −0 Original line number Diff line number Diff line package android.app; import android.content.Context; import android.content.Intent; import android.provider.Settings; import android.os.Parcel; import android.os.Parcelable; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; /** @hide */ public final class AirplaneModeSettings implements Parcelable { private int mValue; private boolean mOverride; private boolean mDirty; /** @hide */ public static final Parcelable.Creator<AirplaneModeSettings> CREATOR = new Parcelable.Creator<AirplaneModeSettings>() { public AirplaneModeSettings createFromParcel(Parcel in) { return new AirplaneModeSettings(in); } @Override public AirplaneModeSettings[] newArray(int size) { return new AirplaneModeSettings[size]; } }; public AirplaneModeSettings(Parcel parcel) { readFromParcel(parcel); } public AirplaneModeSettings() { this(0, false); } public AirplaneModeSettings(int value, boolean override) { mValue = value; mOverride = override; mDirty = false; } public int getValue() { return mValue; } public void setValue(int value) { mValue = value; mDirty = true; } public void setOverride(boolean override) { mOverride = override; mDirty = true; } public boolean isOverride() { return mOverride; } /** @hide */ public boolean isDirty() { return mDirty; } public void processOverride(Context context) { if (isOverride()) { int current = Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0); if (current != mValue) { Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, mValue); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", mValue == 1); context.sendBroadcast(intent); } } } /** @hide */ public static AirplaneModeSettings fromXml(XmlPullParser xpp, Context context) throws XmlPullParserException, IOException { int event = xpp.next(); AirplaneModeSettings connectionDescriptor = new AirplaneModeSettings(); while (event != XmlPullParser.END_TAG) { if (event == XmlPullParser.START_TAG) { String name = xpp.getName(); if (name.equals("value")) { connectionDescriptor.mValue = Integer.parseInt(xpp.nextText()); } else if (name.equals("override")) { connectionDescriptor.mOverride = Boolean.parseBoolean(xpp.nextText()); } } event = xpp.next(); } return connectionDescriptor; } /** @hide */ public void getXmlString(StringBuilder builder, Context context) { builder.append("<airplaneModeDescriptor>\n<value>"); builder.append(mValue); builder.append("</value>\n<override>"); builder.append(mOverride); builder.append("</override>\n</airplaneModeDescriptor>\n"); } @Override public int describeContents() { return 0; } /** @hide */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(mOverride ? 1 : 0); dest.writeInt(mValue); dest.writeInt(mDirty ? 1 : 0); } /** @hide */ public void readFromParcel(Parcel in) { mOverride = in.readInt() != 0; mValue = in.readInt(); mDirty = in.readInt() != 0; } }
core/java/android/app/Profile.java +19 −38 Original line number Diff line number Diff line Loading @@ -17,12 +17,10 @@ package android.app; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import android.os.Parcel; import android.os.ParcelUuid; import android.os.Parcelable; import android.provider.Settings; import android.text.TextUtils; import android.util.Log; Loading Loading @@ -72,9 +70,9 @@ public final class Profile implements Parcelable, Comparable { private SilentModeSettings mSilentMode = new SilentModeSettings(); private int mScreenLockMode = LockMode.DEFAULT; private AirplaneModeSettings mAirplaneMode = new AirplaneModeSettings(); private int mAirplaneMode = AirplaneMode.DEFAULT; private int mScreenLockMode = LockMode.DEFAULT; /** @hide */ public static class LockMode { Loading @@ -83,13 +81,6 @@ public final class Profile implements Parcelable, Comparable { public static final int DISABLE = 2; } /** @hide */ public static class AirplaneMode { public static final int DEFAULT = 0; public static final int ENABLE = 1; public static final int DISABLE = 2; } /** @hide */ public static final Parcelable.Creator<Profile> CREATOR = new Parcelable.Creator<Profile>() { public Profile createFromParcel(Parcel in) { Loading Loading @@ -191,8 +182,8 @@ public final class Profile implements Parcelable, Comparable { dest.writeParcelableArray( connections.values().toArray(new Parcelable[connections.size()]), flags); dest.writeParcelable(mSilentMode, flags); dest.writeParcelable(mAirplaneMode, flags); dest.writeInt(mScreenLockMode); dest.writeInt(mAirplaneMode); } /** @hide */ Loading Loading @@ -223,8 +214,8 @@ public final class Profile implements Parcelable, Comparable { connections.put(connection.getConnectionId(), connection); } mSilentMode = (SilentModeSettings) in.readParcelable(null); mAirplaneMode = (AirplaneModeSettings) in.readParcelable(null); mScreenLockMode = in.readInt(); mAirplaneMode = in.readInt(); } public String getName() { Loading Loading @@ -294,7 +285,7 @@ public final class Profile implements Parcelable, Comparable { return mSilentMode; } public void setSilentMode(SilentModeSettings descriptor) { // FIXME public void setSilentMode(SilentModeSettings descriptor) { mSilentMode = descriptor; mDirty = true; } Loading @@ -312,16 +303,12 @@ public final class Profile implements Parcelable, Comparable { mDirty = true; } public int getAirplaneMode() { public AirplaneModeSettings getAirplaneMode() { return mAirplaneMode; } public void setAirplaneMode(int airplaneMode) { if (airplaneMode < AirplaneMode.DEFAULT || airplaneMode > AirplaneMode.DISABLE) { mAirplaneMode = AirplaneMode.DEFAULT; } else { mAirplaneMode = airplaneMode; } public void setAirplaneMode(AirplaneModeSettings descriptor) { mAirplaneMode = descriptor; mDirty = true; } Loading @@ -345,6 +332,12 @@ public final class Profile implements Parcelable, Comparable { return true; } } if (mSilentMode.isDirty()) { return true; } if (mAirplaneMode.isDirty()) { return true; } return false; } Loading Loading @@ -479,12 +472,13 @@ public final class Profile implements Parcelable, Comparable { SilentModeSettings smd = SilentModeSettings.fromXml(xpp, context); profile.setSilentMode(smd); } if (name.equals("airplaneModeDescriptor")) { AirplaneModeSettings amd = AirplaneModeSettings.fromXml(xpp, context); profile.setAirplaneMode(amd); } if (name.equals("screen-lock-mode")) { profile.setScreenLockMode(Integer.valueOf(xpp.nextText())); } if (name.equals("airplane-mode")) { profile.setAirplaneMode(Integer.valueOf(xpp.nextText())); } if (name.equals("profileGroup")) { ProfileGroup pg = ProfileGroup.fromXml(xpp, context); profile.addProfileGroup(pg); Loading Loading @@ -525,20 +519,7 @@ public final class Profile implements Parcelable, Comparable { // Set silent mode mSilentMode.processOverride(context); // Set airplane mode doSelectAirplaneMode(context); } private void doSelectAirplaneMode(Context context) { if (getAirplaneMode() != AirplaneMode.DEFAULT) { int current = Settings.Global.getInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0); int target = getAirplaneMode(); if (current == 1 && target == AirplaneMode.DISABLE || current == 0 && target == AirplaneMode.ENABLE) { Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1 - current); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", target != AirplaneMode.DISABLE); context.sendBroadcast(intent); } } mAirplaneMode.processOverride(context); } /** @hide */ Loading