diff options
-rw-r--r-- | AndroidManifest.xml | 8 | ||||
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | res/xml/device_info_settings.xml | 7 | ||||
-rw-r--r-- | src/com/android/settings/cyanogenmod/ChangeLog.java | 48 |
4 files changed, 21 insertions, 44 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e01dce7..84171ef 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1507,6 +1507,8 @@ <activity android:name=".cyanogenmod.LockscreenTargets" /> + <activity android:name=".cyanogenmod.ChangeLog" /> + <activity android:name=".cyanogenmod.LockscreenInterface" /> <activity android:name=".cyanogenmod.LockscreenButtons" /> @@ -1538,12 +1540,6 @@ android:value="com.android.settings.cmstats.AnonymousStats" /> </activity> - <activity android:name=".cyanogenmod.ChangeLog" android:label="@string/changelog_title"> - <intent-filter> - <action android:name="android.intent.action.MAIN"/> - </intent-filter> - </activity> - <!-- CyanogenMod activities End --> <!-- Pseudo-activity used to provide an intent-filter entry point to encryption settings --> diff --git a/res/values/strings.xml b/res/values/strings.xml index 2e4812d..96944a5 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4926,7 +4926,7 @@ <!-- Change Log strings --> <string name="changelog_title">View changelog</string> - <string name="changelog_dialog">Changelog</string> + <string name="changelog_summary">Changelog</string> <string name="changelog_loading">Loading changelog...</string> <string name="changelog_error">Unable to load changelog</string> <string name="changelog_unknown">Unknown</string> diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml index 08e85a3..6bfc584 100644 --- a/res/xml/device_info_settings.xml +++ b/res/xml/device_info_settings.xml @@ -59,10 +59,9 @@ <!-- Change Log --> <PreferenceScreen android:key="changelog" - android:title="@string/changelog_title"> - <intent android:action="android.intent.action.MAIN" - android:targetPackage="com.android.settings" - android:targetClass="com.android.settings.cyanogenmod.ChangeLog" /> + android:title="@string/changelog_title" + android:summary="@string/changelog_summary" + android:fragment="com.android.settings.cyanogenmod.ChangeLog" > </PreferenceScreen> <!-- Legal Information --> diff --git a/src/com/android/settings/cyanogenmod/ChangeLog.java b/src/com/android/settings/cyanogenmod/ChangeLog.java index 971343f..d06455b 100644 --- a/src/com/android/settings/cyanogenmod/ChangeLog.java +++ b/src/com/android/settings/cyanogenmod/ChangeLog.java @@ -24,6 +24,12 @@ import android.util.Config; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; +import android.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ScrollView; +import android.widget.TextView; +import android.view.ViewGroup; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -34,14 +40,13 @@ import java.io.InputStreamReader; import com.android.internal.app.AlertActivity; import com.android.internal.app.AlertController; -public class ChangeLog extends AlertActivity { +public class ChangeLog extends Fragment { private static final String CHANGELOG_PATH = "/system/etc/CHANGELOG-CM.txt"; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { InputStreamReader inputReader = null; StringBuilder data = null; try { @@ -53,8 +58,7 @@ public class ChangeLog extends AlertActivity { data.append(tmp, 0, numRead); } } catch (IOException e) { - showErrorAndFinish(); - return; + data.append(this.getString(R.string.changelog_error)); } finally { try { if (inputReader != null) { @@ -64,34 +68,12 @@ public class ChangeLog extends AlertActivity { } } - if (TextUtils.isEmpty(data)) { - showErrorAndFinish(); - return; - } - - WebView webView = new WebView(this); + TextView textView = new TextView(getActivity()); + textView.setText(data.toString()); - // Begin the loading. This will be done in a separate thread in WebView. - webView.loadDataWithBaseURL(null, data.toString(), "text/plain", "utf-8", null); - webView.setWebViewClient(new WebViewClient() { - @Override - public void onPageFinished(WebView view, String url) { - // Change from 'Loading...' to the real title - mAlert.setTitle(getString(R.string.changelog_dialog)); - } - }); + final ScrollView scrollView = new ScrollView(getActivity()); + scrollView.addView(textView); - final AlertController.AlertParams p = mAlertParams; - p.mTitle = getString(R.string.changelog_loading); - p.mView = webView; - p.mForceInverseBackground = true; - setupAlert(); + return scrollView; } - - private void showErrorAndFinish() { - Toast.makeText(this, R.string.changelog_error, Toast.LENGTH_LONG) - .show(); - finish(); - } - } |