aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java')
-rw-r--r--app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java59
1 files changed, 58 insertions, 1 deletions
diff --git a/app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java b/app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java
index 31fdacc..f49f73a 100644
--- a/app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java
+++ b/app/src/main/java/org/cyanogenmod/wundergroundcmweatherprovider/WUBasePreferenceActivity.java
@@ -15,13 +15,70 @@
*/
package org.cyanogenmod.wundergroundcmweatherprovider;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.net.Uri;
import android.os.Bundle;
+import android.preference.EditTextPreference;
+import android.preference.Preference;
import android.preference.PreferenceActivity;
+import android.text.Editable;
+
+public class WUBasePreferenceActivity extends PreferenceActivity implements Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener {
+
+ private static final String CREATE_ACCOUNT_KEY = "create_account";
+ private static final String API_KEY_KEY = "api_key";
+
+ private static final String WU_CREATE_ACCOUNT_URL =
+ "https://www.wunderground.com/weather/api/d/login.html";
+
+ private Preference mCreateAccountPreference;
+ private EditTextPreference mApiKeyPreference;
-public class WUBasePreferenceActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WundergroundCMApplication.get(this).inject(this);
+ addPreferencesFromResource(R.xml.preferences);
+
+ mCreateAccountPreference = findPreference(CREATE_ACCOUNT_KEY);
+ mApiKeyPreference = (EditTextPreference) findPreference(API_KEY_KEY);
+ mApiKeyPreference.setOnPreferenceChangeListener(this);
+ mCreateAccountPreference.setOnPreferenceClickListener(this);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object o) {
+ switch (preference.getKey()) {
+ case API_KEY_KEY:
+ Editable editText = mApiKeyPreference.getEditText().getText();
+ if (editText != null) {
+ String text = editText.toString();
+ SharedPreferences sharedPreferences = getSharedPreferences(
+ WundergroundModule.SHARED_PREFS_KEY, Context.MODE_PRIVATE);
+ sharedPreferences.edit().putString(WundergroundModule.API_KEY, text).commit();
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ switch (preference.getKey()) {
+ case CREATE_ACCOUNT_KEY:
+ Intent createAccountIntent = new Intent();
+ createAccountIntent.setAction(Intent.ACTION_VIEW);
+ createAccountIntent.setData(Uri.parse(WU_CREATE_ACCOUNT_URL));
+ try {
+ startActivity(createAccountIntent);
+ } catch (ActivityNotFoundException e) {
+ e.printStackTrace();
+ }
+ return true;
+ }
+ return false;
}
}