summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml8
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/xml/device_info_settings.xml7
-rw-r--r--src/com/android/settings/cyanogenmod/ChangeLog.java48
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();
- }
-
}