From 636b71ae9019e04e4f77fc0714c603bd3ae0f5a2 Mon Sep 17 00:00:00 2001 From: Adnan Begovic Date: Thu, 5 May 2016 23:29:01 -0700 Subject: YahooCM: Meet branding guidelines and add preference screen. Change-Id: Iea903a52d93bde4e65660a01d8950abb2b4746c6 --- app/src/main/AndroidManifest.xml | 8 +++ .../yahooweatherprovider/ImagePreference.java | 29 +++++++++ .../YahooPreferenceActivity.java | 66 +++++++++++++++++++++ app/src/main/res/drawable/purple.png | Bin 0 -> 2485 bytes app/src/main/res/layout/image_preference.xml | 14 +++++ app/src/main/res/values/strings.xml | 8 ++- app/src/main/res/values/styles.xml | 2 +- app/src/main/res/xml/preferences.xml | 24 ++++++++ app/src/main/res/xml/weather_settings_service.xml | 15 +++++ 9 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/org/cyanogenmod/yahooweatherprovider/ImagePreference.java create mode 100644 app/src/main/java/org/cyanogenmod/yahooweatherprovider/YahooPreferenceActivity.java create mode 100644 app/src/main/res/drawable/purple.png create mode 100644 app/src/main/res/layout/image_preference.xml create mode 100644 app/src/main/res/xml/preferences.xml create mode 100644 app/src/main/res/xml/weather_settings_service.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 48b4540..341c8ef 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,11 +30,19 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> + + + + diff --git a/app/src/main/java/org/cyanogenmod/yahooweatherprovider/ImagePreference.java b/app/src/main/java/org/cyanogenmod/yahooweatherprovider/ImagePreference.java new file mode 100644 index 0000000..bac4822 --- /dev/null +++ b/app/src/main/java/org/cyanogenmod/yahooweatherprovider/ImagePreference.java @@ -0,0 +1,29 @@ +package org.cyanogenmod.yahooweatherprovider; + +import android.content.Context; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class ImagePreference extends Preference { + public ImagePreference(Context context) { + super(context); + } + + public ImagePreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public ImagePreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + @Override + protected View onCreateView(ViewGroup parent) { + LayoutInflater li = (LayoutInflater) + getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE ); + return li.inflate(R.layout.image_preference, parent, false); + } +} diff --git a/app/src/main/java/org/cyanogenmod/yahooweatherprovider/YahooPreferenceActivity.java b/app/src/main/java/org/cyanogenmod/yahooweatherprovider/YahooPreferenceActivity.java new file mode 100644 index 0000000..58c9bb6 --- /dev/null +++ b/app/src/main/java/org/cyanogenmod/yahooweatherprovider/YahooPreferenceActivity.java @@ -0,0 +1,66 @@ +/** + * Copyright (C) 2016 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.cyanogenmod.yahooweatherprovider; + +import android.app.ActionBar; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceActivity; +import android.view.MenuItem; + +public class YahooPreferenceActivity extends PreferenceActivity + implements Preference.OnPreferenceClickListener { + private static final String IMAGE_KEY = "image_key"; + private static final String YAHOO_URL = "https://www.yahoo.com/?ilc=401"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.preferences); + + final Preference imagePreference = findPreference(IMAGE_KEY); + imagePreference.setOnPreferenceClickListener(this); + ActionBar actionBar = getActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(true); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + break; + } + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onPreferenceClick(Preference preference) { + switch (preference.getKey()) { + case IMAGE_KEY: + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setData(Uri.parse(YAHOO_URL)); + startActivity(intent); + return true; + } + return false; + } +} diff --git a/app/src/main/res/drawable/purple.png b/app/src/main/res/drawable/purple.png new file mode 100644 index 0000000..66cd058 Binary files /dev/null and b/app/src/main/res/drawable/purple.png differ diff --git a/app/src/main/res/layout/image_preference.xml b/app/src/main/res/layout/image_preference.xml new file mode 100644 index 0000000..09b449a --- /dev/null +++ b/app/src/main/res/layout/image_preference.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5f3269a..6b45a5d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,9 @@ Yahoo Weather Provider - + + About + Copyright + YAHOO! is a registered trademark of Yahoo! Inc. both in the United States and internationally. + + Customization + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3444a02..dc4204f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,6 +1,6 @@ - diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml new file mode 100644 index 0000000..837a4a1 --- /dev/null +++ b/app/src/main/res/xml/preferences.xml @@ -0,0 +1,24 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/weather_settings_service.xml b/app/src/main/res/xml/weather_settings_service.xml new file mode 100644 index 0000000..af5c23e --- /dev/null +++ b/app/src/main/res/xml/weather_settings_service.xml @@ -0,0 +1,15 @@ + + + \ No newline at end of file -- cgit v1.2.3