Fix issue #2519590: Lock screen stuck in landscape mode

Well, mostly.  There is still a problem here where the first time
you show the lock screen it just doesn't draw itself.  I assume
this is something breaking in the view hierarchy as it floounders
around removing and adding new views as it is first being shown...
but no idea at this point what is the actual case.

Change-Id: Iba99ae3242931c8673b17b106c86fc99e2c52abe
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 6598264..1a0c867 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -219,6 +219,10 @@
      * Makes a deep copy suitable for modification.
      */
     public Configuration(Configuration o) {
+        setTo(o);
+    }
+
+    public void setTo(Configuration o) {
         fontScale = o.fontScale;
         mcc = o.mcc;
         mnc = o.mnc;
@@ -237,7 +241,7 @@
         uiMode = o.uiMode;
         seq = o.seq;
     }
-
+    
     public String toString() {
         StringBuilder sb = new StringBuilder(128);
         sb.append("{ scale=");
@@ -552,21 +556,7 @@
         dest.writeInt(seq);
     }
 
-    public static final Parcelable.Creator<Configuration> CREATOR
-            = new Parcelable.Creator<Configuration>() {
-        public Configuration createFromParcel(Parcel source) {
-            return new Configuration(source);
-        }
-
-        public Configuration[] newArray(int size) {
-            return new Configuration[size];
-        }
-    };
-
-    /**
-     * Construct this Configuration object, reading from the Parcel.
-     */
-    private Configuration(Parcel source) {
+    public void readFromParcel(Parcel source) {
         fontScale = source.readFloat();
         mcc = source.readInt();
         mnc = source.readInt();
@@ -586,6 +576,24 @@
         uiMode = source.readInt();
         seq = source.readInt();
     }
+    
+    public static final Parcelable.Creator<Configuration> CREATOR
+            = new Parcelable.Creator<Configuration>() {
+        public Configuration createFromParcel(Parcel source) {
+            return new Configuration(source);
+        }
+
+        public Configuration[] newArray(int size) {
+            return new Configuration[size];
+        }
+    };
+
+    /**
+     * Construct this Configuration object, reading from the Parcel.
+     */
+    private Configuration(Parcel source) {
+        readFromParcel(source);
+    }
 
     public int compareTo(Configuration that) {
         int n;