summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/LegalSettings.java
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-04-16 16:54:23 -0700
committerAbhisek Devkota <ciwrl@cyanogenmod.com>2016-02-15 11:53:56 -0800
commit5614e2fb653bec4eb748d212de699e0353892e2f (patch)
tree9463f762458b7060c37ac138ef63a0cc39904a0c /src/com/android/settings/LegalSettings.java
parent994fb0bf6ff5d1179d1fee0460428a7fa63e32e9 (diff)
downloadpackages_apps_Settings-5614e2fb653bec4eb748d212de699e0353892e2f.zip
packages_apps_Settings-5614e2fb653bec4eb748d212de699e0353892e2f.tar.gz
packages_apps_Settings-5614e2fb653bec4eb748d212de699e0353892e2f.tar.bz2
Settings: fix 'CyanogenMod legal' link
No more WebViews in priv-apps, so open it up in the browser. CYNGNOS-1895 Change-Id: I263ccc0509e275d17512528deb606341d58e7a0d Signed-off-by: Roman Birg <roman@cyngn.com>
Diffstat (limited to 'src/com/android/settings/LegalSettings.java')
-rw-r--r--src/com/android/settings/LegalSettings.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/com/android/settings/LegalSettings.java b/src/com/android/settings/LegalSettings.java
index cd91d20..a28fae5 100644
--- a/src/com/android/settings/LegalSettings.java
+++ b/src/com/android/settings/LegalSettings.java
@@ -22,9 +22,14 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.net.Uri;
import android.os.Bundle;
+import android.os.SystemProperties;
+import android.preference.Preference;
import android.preference.PreferenceGroup;
+import android.preference.PreferenceScreen;
import android.provider.SearchIndexableResource;
+import android.util.Log;
import com.android.internal.logging.MetricsLogger;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -36,10 +41,13 @@ import java.util.List;
public class LegalSettings extends SettingsPreferenceFragment implements Indexable {
+ private static final String LOG_TAG = "LegalSettings";
private static final String KEY_TERMS = "terms";
private static final String KEY_LICENSE = "license";
private static final String KEY_COPYRIGHT = "copyright";
private static final String KEY_WEBVIEW_LICENSE = "webview_license";
+ private static final String PROPERTY_CMLICENSE_URL = "ro.cmlegal.url";
+ private static final String KEY_CM_LICENSE = "cmlicense";
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -59,6 +67,22 @@ public class LegalSettings extends SettingsPreferenceFragment implements Indexab
}
@Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+ if (preference.getKey().equals(KEY_CM_LICENSE)) {
+ String userCMLicenseUrl = SystemProperties.get(PROPERTY_CMLICENSE_URL);
+ final Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+ intent.setData(Uri.parse(userCMLicenseUrl));
+ try {
+ startActivity(intent);
+ } catch (Exception e) {
+ Log.e(LOG_TAG, "Unable to start activity " + intent.toString());
+ }
+ }
+ return super.onPreferenceTreeClick(preferenceScreen, preference);
+ }
+
+ @Override
protected int getMetricsCategory() {
return MetricsLogger.ABOUT_LEGAL_SETTINGS;
}