am 99348d69: am da02111f: Merge "Added color to Data Usage graph" into lmp-mr1-dev

* commit '99348d6911ec15d9a93a2ce72b9c276929789499':
  Added color to Data Usage graph
This commit is contained in:
PauloftheWest
2014-12-02 18:12:22 +00:00
committed by Android Git Automerger

View File

@@ -140,6 +140,7 @@ import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.sim.SimSettings; import com.android.settings.sim.SimSettings;
import com.android.settings.widget.ChartDataUsageView; import com.android.settings.widget.ChartDataUsageView;
import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener; import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener;
import com.android.settings.widget.ChartNetworkSeriesView;
import com.google.android.collect.Lists; import com.google.android.collect.Lists;
import libcore.util.Objects; import libcore.util.Objects;
@@ -209,6 +210,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
private ViewGroup mTabsContainer; private ViewGroup mTabsContainer;
private TabWidget mTabWidget; private TabWidget mTabWidget;
private ListView mListView; private ListView mListView;
private ChartNetworkSeriesView mSeries;
private ChartNetworkSeriesView mDetailedSeries;
private DataUsageAdapter mAdapter; private DataUsageAdapter mAdapter;
/** Distance to inset content from sides, when needed. */ /** Distance to inset content from sides, when needed. */
@@ -400,6 +403,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
mCycleSpinner.setOnItemSelectedListener(mCycleListener); mCycleSpinner.setOnItemSelectedListener(mCycleListener);
mCycleSummary = (TextView) mCycleView.findViewById(R.id.cycle_summary); mCycleSummary = (TextView) mCycleView.findViewById(R.id.cycle_summary);
mNetworkSwitches.addView(mCycleView); mNetworkSwitches.addView(mCycleView);
mSeries = (ChartNetworkSeriesView)view.findViewById(R.id.series);
mDetailedSeries = (ChartNetworkSeriesView)view.findViewById(R.id.detail_series);
} }
mChart = (ChartDataUsageView) mHeader.findViewById(R.id.chart); mChart = (ChartDataUsageView) mHeader.findViewById(R.id.chart);
@@ -658,16 +663,17 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
final Context context = getActivity(); final Context context = getActivity();
mTabHost.clearAllTabs(); mTabHost.clearAllTabs();
final boolean mobileSplit = isMobilePolicySplit(); for (int i = 0; i < mTelephonyManager.getSimCount(); i++) {
if (mobileSplit && hasReadyMobile4gRadio(context)) { final SubscriptionInfo sir = Utils.findRecordBySlotId(context, i);
mTabHost.addTab(buildTabSpec(TAB_3G, R.string.data_usage_tab_3g)); if (sir != null) {
mTabHost.addTab(buildTabSpec(TAB_4G, R.string.data_usage_tab_4g)); addMobileTab(context, sir);
} else if (hasReadyMobileRadio(context)) { }
addMobileTab(context, mSubInfoList);
} }
if (mShowWifi && hasWifiRadio(context)) { if (mShowWifi && hasWifiRadio(context)) {
mTabHost.addTab(buildTabSpec(TAB_WIFI, R.string.data_usage_tab_wifi)); mTabHost.addTab(buildTabSpec(TAB_WIFI, R.string.data_usage_tab_wifi));
} }
if (mShowEthernet && hasEthernet(context)) { if (mShowEthernet && hasEthernet(context)) {
mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet)); mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet));
} }
@@ -736,6 +742,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
if (!isAdded()) return; if (!isAdded()) return;
final Context context = getActivity(); final Context context = getActivity();
final Resources resources = context.getResources();
final String currentTab = mTabHost.getCurrentTabTag(); final String currentTab = mTabHost.getCurrentTabTag();
final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER; final boolean isOwner = ActivityManager.getCurrentUser() == UserHandle.USER_OWNER;
@@ -799,6 +806,21 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
getActivity().invalidateOptionsMenu(); getActivity().invalidateOptionsMenu();
mBinding = false; mBinding = false;
int seriesColor = resources.getColor(R.color.sim_noitification);
if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
mCurrentTab.length()));
final SubscriptionInfo sir = com.android.settings.Utils.findRecordBySlotId(context,
slotId);
if (sir != null) {
seriesColor = sir.getIconTint();
}
}
mSeries.setChartColor(Color.BLACK, seriesColor, seriesColor);
mDetailedSeries.setChartColor(Color.BLACK, seriesColor, seriesColor);
} }
private boolean isAppDetailMode() { private boolean isAppDetailMode() {
@@ -2588,13 +2610,11 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
} }
}; };
private void addMobileTab(Context context, List<SubscriptionInfo> subInfoList) { private void addMobileTab(Context context, SubscriptionInfo subInfo) {
if (subInfoList != null && mMobileTagMap != null) { if (subInfo != null && mMobileTagMap != null) {
for (SubscriptionInfo subInfo : mSubInfoList) { if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) { mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()), subInfo.getDisplayName()));
subInfo.getDisplayName()));
}
} }
} }
} }
@@ -2620,13 +2640,17 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
* @return The map or null if no activated subscription * @return The map or null if no activated subscription
*/ */
private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) { private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) {
final Context context = getActivity();
Map<Integer, String> map = null; Map<Integer, String> map = null;
if (subInfoList != null) { if (subInfoList != null) {
String mobileTag; String mobileTag;
map = new HashMap<Integer, String>(); map = new HashMap<Integer, String>();
for (SubscriptionInfo subInfo : subInfoList) { for (int i = 0; i < mTelephonyManager.getSimCount(); i++) {
mobileTag = TAB_MOBILE + String.valueOf(subInfo.getSubscriptionId()); final SubscriptionInfo subInfo = Utils.findRecordBySlotId(context, i);
map.put(subInfo.getSubscriptionId(), mobileTag); mobileTag = TAB_MOBILE + i;
if (subInfo != null) {
map.put(subInfo.getSubscriptionId(), mobileTag);
}
} }
} }
return map; return map;