diff options
author | Danny Baumann <dannybaumann@web.de> | 2014-06-27 09:41:42 +0200 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-07-21 16:59:48 +0100 |
commit | 7543486a29ca2bfbc053f5d6fb1d38970725a48c (patch) | |
tree | 398f463eeb2bf79b1fe0643dc3e3946bd5346fa9 | |
parent | 74b816de46880a4a39a5a6dce8ec6705551edc52 (diff) | |
download | android_packages_apps_Dialer-cm-11.0-XNPH33R-bacon-3628510d76.tar.gz android_packages_apps_Dialer-cm-11.0-XNPH33R-bacon-3628510d76.tar.bz2 android_packages_apps_Dialer-cm-11.0-XNPH33R-bacon-3628510d76.zip |
Dialer: Make the call stats spinner match the other actionbar themingcm-11.0-XNPH33R-bacon-3628510d76cm-11.0-XNPH30O-bacon-4f280f505a
Change-Id: I9bb5a1e344aa33c4651a20f37875bbed8f3bd9e3
21 files changed, 81 insertions, 13 deletions
diff --git a/res/drawable-hdpi/spinner_default_holo_dark.9.png b/res/drawable-hdpi/spinner_default_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..78e583ce2 --- /dev/null +++ b/res/drawable-hdpi/spinner_default_holo_dark.9.png diff --git a/res/drawable-hdpi/spinner_disabled_holo_dark.9.png b/res/drawable-hdpi/spinner_disabled_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..210832cd3 --- /dev/null +++ b/res/drawable-hdpi/spinner_disabled_holo_dark.9.png diff --git a/res/drawable-hdpi/spinner_focused_holo_dark.9.png b/res/drawable-hdpi/spinner_focused_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..5135f2ba6 --- /dev/null +++ b/res/drawable-hdpi/spinner_focused_holo_dark.9.png diff --git a/res/drawable-hdpi/spinner_pressed_holo_dark.9.png b/res/drawable-hdpi/spinner_pressed_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..aca943565 --- /dev/null +++ b/res/drawable-hdpi/spinner_pressed_holo_dark.9.png diff --git a/res/drawable-mdpi/spinner_default_holo_dark.9.png b/res/drawable-mdpi/spinner_default_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..5ac84dd14 --- /dev/null +++ b/res/drawable-mdpi/spinner_default_holo_dark.9.png diff --git a/res/drawable-mdpi/spinner_disabled_holo_dark.9.png b/res/drawable-mdpi/spinner_disabled_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..2734f20bf --- /dev/null +++ b/res/drawable-mdpi/spinner_disabled_holo_dark.9.png diff --git a/res/drawable-mdpi/spinner_focused_holo_dark.9.png b/res/drawable-mdpi/spinner_focused_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..392c72ff8 --- /dev/null +++ b/res/drawable-mdpi/spinner_focused_holo_dark.9.png diff --git a/res/drawable-mdpi/spinner_pressed_holo_dark.9.png b/res/drawable-mdpi/spinner_pressed_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..75fb81e3a --- /dev/null +++ b/res/drawable-mdpi/spinner_pressed_holo_dark.9.png diff --git a/res/drawable-xhdpi/spinner_default_holo_dark.9.png b/res/drawable-xhdpi/spinner_default_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..fadfb5d01 --- /dev/null +++ b/res/drawable-xhdpi/spinner_default_holo_dark.9.png diff --git a/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png b/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..7c3c49baf --- /dev/null +++ b/res/drawable-xhdpi/spinner_disabled_holo_dark.9.png diff --git a/res/drawable-xhdpi/spinner_focused_holo_dark.9.png b/res/drawable-xhdpi/spinner_focused_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..fdb0d5daa --- /dev/null +++ b/res/drawable-xhdpi/spinner_focused_holo_dark.9.png diff --git a/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png b/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..2023a9d1b --- /dev/null +++ b/res/drawable-xhdpi/spinner_pressed_holo_dark.9.png diff --git a/res/drawable-xxhdpi/spinner_default_holo_dark.9.png b/res/drawable-xxhdpi/spinner_default_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..b0020f25f --- /dev/null +++ b/res/drawable-xxhdpi/spinner_default_holo_dark.9.png diff --git a/res/drawable-xxhdpi/spinner_disabled_holo_dark.9.png b/res/drawable-xxhdpi/spinner_disabled_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..7c1209687 --- /dev/null +++ b/res/drawable-xxhdpi/spinner_disabled_holo_dark.9.png diff --git a/res/drawable-xxhdpi/spinner_focused_holo_dark.9.png b/res/drawable-xxhdpi/spinner_focused_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..41bb295fc --- /dev/null +++ b/res/drawable-xxhdpi/spinner_focused_holo_dark.9.png diff --git a/res/drawable-xxhdpi/spinner_pressed_holo_dark.9.png b/res/drawable-xxhdpi/spinner_pressed_holo_dark.9.png Binary files differnew file mode 100644 index 000000000..e2212a5e6 --- /dev/null +++ b/res/drawable-xxhdpi/spinner_pressed_holo_dark.9.png diff --git a/res/drawable/spinner_ab_holo_dark.xml b/res/drawable/spinner_ab_holo_dark.xml new file mode 100644 index 000000000..a8baaa115 --- /dev/null +++ b/res/drawable/spinner_ab_holo_dark.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2014 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. +--> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + android:autoMirrored="true"> + + <item android:state_enabled="false" + android:drawable="@drawable/spinner_disabled_holo_dark" /> + + <item android:state_pressed="true" + android:drawable="@drawable/spinner_pressed_holo_dark" /> + + <item android:state_pressed="false" + android:state_focused="true" + android:drawable="@drawable/spinner_focused_holo_dark" /> + + <item android:drawable="@drawable/spinner_default_holo_dark" /> +</selector> diff --git a/res/layout/call_stats_filter_spinner.xml b/res/layout/call_stats_filter_spinner.xml new file mode 100644 index 000000000..b2054e7ad --- /dev/null +++ b/res/layout/call_stats_filter_spinner.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2014 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. +--> +<Spinner xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + style="@style/DialtactsActionBarSpinner" /> diff --git a/res/menu/call_stats_options.xml b/res/menu/call_stats_options.xml index 6cc9ec0d0..3c683750e 100644 --- a/res/menu/call_stats_options.xml +++ b/res/menu/call_stats_options.xml @@ -18,7 +18,7 @@ <item android:id="@+id/filter" android:showAsAction="always" - android:actionViewClass="android.widget.Spinner" /> + android:actionLayout="@layout/call_stats_filter_spinner" /> <item android:id="@+id/date_filter" diff --git a/res/values/styles.xml b/res/values/styles.xml index c9c647049..973c53470 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -110,6 +110,17 @@ <item name="android:windowActionBarOverlay">true</item> </style> + <!-- A theme for inflation of spinners in the dialtacts action bar --> + <style name="DialtactsSpinnerTheme" parent="DialtactsTheme"> + <item name="android:textAppearanceListItemSmall">@android:style/TextAppearance.Holo.Medium.Inverse</item> + </style> + + <style name="DialtactsActionBarSpinner" + parent="@*android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar"> + + <item name="android:background">@drawable/spinner_ab_holo_dark</item> + </style> + <style name="CallDetailActivityTheme1" parent="android:Theme.Holo.Light"> <item name="android:windowBackground">@color/background_dialer_list_items</item> <item name="android:gravity">top</item> diff --git a/src/com/android/dialer/callstats/CallStatsFragment.java b/src/com/android/dialer/callstats/CallStatsFragment.java index 34e540cbc..fb1e075a9 100644 --- a/src/com/android/dialer/callstats/CallStatsFragment.java +++ b/src/com/android/dialer/callstats/CallStatsFragment.java @@ -31,6 +31,7 @@ import android.provider.ContactsContract; import android.telephony.PhoneNumberUtils; import android.text.format.DateUtils; import android.text.TextUtils; +import android.view.ContextThemeWrapper; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -68,7 +69,6 @@ public class CallStatsFragment extends ListFragment implements R.drawable.ic_call_missed_holo_dark }; - private String[] mNavItems; private Spinner mFilterSpinner; private int mCallTypeFilter = CallStatsQueryHandler.CALL_TYPE_ALL; @@ -91,29 +91,35 @@ public class CallStatsFragment extends ListFragment implements } }; - public class CallStatsNavAdapter extends ArrayAdapter<String> { - public CallStatsNavAdapter(Context context, int textResourceId, Object[] objects) { - super(context, textResourceId, mNavItems); + public static class CallStatsNavAdapter extends ArrayAdapter<String> { + private LayoutInflater mMainInflater; + private LayoutInflater mDropdownInflater; + + public CallStatsNavAdapter(Context context, int textResourceId, String[] objects) { + super(context, textResourceId, objects); + mMainInflater = LayoutInflater.from( + new ContextThemeWrapper(context, R.style.DialtactsSpinnerTheme)); + mDropdownInflater = LayoutInflater.from(context); } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { - return getCustomView(position, convertView, parent); + return getCustomView(position, convertView, parent, mDropdownInflater); } @Override public View getView(int position, View convertView, ViewGroup parent) { - return getCustomView(position, convertView, parent); + return getCustomView(position, convertView, parent, mMainInflater); } - public View getCustomView(int position, View convertView, ViewGroup parent) { + public View getCustomView(int position, View convertView, + ViewGroup parent, LayoutInflater inflater) { if (convertView == null) { - convertView = getLayoutInflater(null).inflate( - R.layout.call_stats_nav_item, parent, false); + convertView = inflater.inflate(R.layout.call_stats_nav_item, parent, false); } TextView label = (TextView) convertView.findViewById(R.id.call_stats_nav_text); - label.setText(mNavItems[position]); + label.setText(getItem(position)); ImageView icon = (ImageView) convertView.findViewById(R.id.call_stats_nav_icon); icon.setImageResource(CALL_DIRECTION_RESOURCES[position]); @@ -164,9 +170,9 @@ public class CallStatsFragment extends ListFragment implements sortCountItem.setVisible(mSortByDuration); mFilterSpinner = (Spinner) filterItem.getActionView(); - mNavItems = getResources().getStringArray(R.array.call_stats_nav_items); CallStatsNavAdapter filterAdapter = new CallStatsNavAdapter(getActivity(), - android.R.layout.simple_list_item_1, mNavItems); + android.R.layout.simple_list_item_1, + getResources().getStringArray(R.array.call_stats_nav_items)); mFilterSpinner.setAdapter(filterAdapter); mFilterSpinner.setOnItemSelectedListener(this); |