OSDN Git Service

Fix regulatory information dialog appearance
authorBrian Muramatsu <btmura@google.com>
Wed, 19 Sep 2012 01:39:29 +0000 (18:39 -0700)
committerBrian Muramatsu <btmura@google.com>
Wed, 19 Sep 2012 04:58:05 +0000 (21:58 -0700)
Bug 7081675

Replace RegulatoryInfoFragment with a custom preference so that the info
shows up properly in a dialog. DialogFragments do not appear
as dialogs when instantiated from preference XML files.

Change-Id: Icbdf73bd5b1d14f28a01d7b9cb0f37d90340eb46

res/layout/regulatory_info.xml
res/xml/device_info_settings.xml
src/com/android/settings/RegulatoryInfoPreference.java [moved from src/com/android/settings/RegulatoryInfoFragment.java with 50% similarity]

index e4999a4..dc1efe8 100755 (executable)
@@ -14,6 +14,8 @@
      limitations under the License.
 -->
 <ImageView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:adjustViewBounds="true"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:scaleType="centerCrop"
     android:src="@drawable/regulatory_info"/>
index 4fabc9d..03f1e78 100644 (file)
@@ -89,9 +89,8 @@
         </PreferenceScreen>
         -->
 
-        <Preference android:key="regulatory_info"
-                android:title="@string/regulatory_information"
-                android:fragment="com.android.settings.RegulatoryInfoFragment"/>
+        <com.android.settings.RegulatoryInfoPreference android:key="regulatory_info"
+                android:title="@string/regulatory_information" />
 
         <!-- Device hardware model -->
         <Preference android:key="device_model" 
 
 package com.android.settings;
 
-import android.app.DialogFragment;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.android.settings.R;
+import android.content.Context;
+import android.preference.DialogPreference;
+import android.util.AttributeSet;
 
 /**
- * {@link DialogFragment} that displays regulatory information.
- * "About phone" will show a preference that displays this fragment when
- * clicked if R.bool.config_show_regulatory_info is true.
+ * {@link DialogPreference} that displays regulatory information. "About phone"
+ * will show a "Regulatory information" preference if
+ * R.bool.config_show_regulatory_info is true.
  */
-public class RegulatoryInfoFragment extends DialogFragment {
+public class RegulatoryInfoPreference extends DialogPreference {
 
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        return inflater.inflate(R.layout.regulatory_info, container, false);
+    public RegulatoryInfoPreference(Context context, AttributeSet attrs) {
+        super(context, attrs, com.android.internal.R.attr.preferenceStyle);
+        setDialogLayoutResource(R.layout.regulatory_info);
     }
 }