Work on issue #16135174: Apps page "smoke" gradient footer must be removed
New header in running services. Not yet done. Change-Id: Ibe2f4145796c7863ec80e0ea2d8d87dc910bac7e
This commit is contained in:
@@ -39,50 +39,6 @@
|
|||||||
android:text="@string/no_applications"
|
android:text="@string/no_applications"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
<!-- Force layout direction to LTR for now as we want the text to be at the same position in
|
|
||||||
any Locale included the RTL ones. Will need to fix LinearColorBar RTL support later.
|
|
||||||
Please also note the left/right gravities that would also need to be changed for proper
|
|
||||||
RTL support -->
|
|
||||||
<view class="com.android.settings.applications.LinearColorBar"
|
|
||||||
android:id="@+id/storage_color_bar"
|
|
||||||
android:layout_marginStart="@dimen/settings_side_margin"
|
|
||||||
android:layout_marginEnd="@dimen/settings_side_margin"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="-5dp"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:clipChildren="false"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
android:paddingTop="30dp"
|
|
||||||
android:paddingBottom="1dp"
|
|
||||||
android:layoutDirection="ltr">
|
|
||||||
<TextView android:id="@+id/usedStorageText"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="left"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="#000"
|
|
||||||
android:singleLine="true" />
|
|
||||||
<TextView android:id="@+id/storageChartLabel"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0"
|
|
||||||
android:layout_marginTop="-20dp"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:text="@string/internal_storage" />
|
|
||||||
<TextView android:id="@+id/freeStorageText"
|
|
||||||
android:layout_gravity="center_vertical|end"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="right"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="#000"
|
|
||||||
android:singleLine="true" />
|
|
||||||
</view>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout android:id="@+id/loading_container"
|
<LinearLayout android:id="@+id/loading_container"
|
||||||
|
178
res/layout/running_processes_header.xml
Normal file
178
res/layout/running_processes_header.xml
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2014, The Android Open Source 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
||||||
|
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:textAlignment="viewStart"
|
||||||
|
android:text="@string/running_processes_header_title" />
|
||||||
|
|
||||||
|
<view class="com.android.settings.applications.LinearColorBar"
|
||||||
|
android:id="@+id/color_bar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="18sp"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:orientation="horizontal" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:baselineAligned="true">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="16sp"
|
||||||
|
android:layout_height="16sp"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:src="@color/running_processes_system_ram"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/systemSizePrefix"
|
||||||
|
android:text="@string/running_processes_header_system_prefix"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:maxLines="1" />
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/dotted_line_480px"
|
||||||
|
android:layout_width="0dip"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:layout_marginStart="1dip"
|
||||||
|
android:layout_marginEnd="1dip"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/systemSize"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:maxLines="1" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:baselineAligned="true">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="16sp"
|
||||||
|
android:layout_height="16sp"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:src="@color/running_processes_apps_ram"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/appsSizePrefix"
|
||||||
|
android:text="@string/running_processes_header_apps_prefix"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingTop="6dip" />
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/dotted_line_480px"
|
||||||
|
android:layout_width="0dip"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:layout_marginStart="1dip"
|
||||||
|
android:layout_marginEnd="1dip"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/appsSize"
|
||||||
|
android:paddingTop="6dip"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:maxLines="1" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:baselineAligned="true">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="16sp"
|
||||||
|
android:layout_height="16sp"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:src="@color/running_processes_free_ram"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/freeSizePrefix"
|
||||||
|
android:text="@string/running_processes_header_free_prefix"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:paddingTop="6dip" />
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/dotted_line_480px"
|
||||||
|
android:layout_width="0dip"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="1px"
|
||||||
|
android:baselineAlignBottom="true"
|
||||||
|
android:layout_marginStart="1dip"
|
||||||
|
android:layout_marginEnd="1dip"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:contentDescription="@null" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/freeSize"
|
||||||
|
android:paddingTop="6dip"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:maxLines="1" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/listHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:textAlignment="viewStart"
|
||||||
|
android:text="@string/running_processes_header_footer" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
@@ -37,52 +37,4 @@
|
|||||||
android:text="@string/no_running_services"
|
android:text="@string/no_running_services"
|
||||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
<!-- Force layout direction to LTR for now as we want the text to be at the same position in
|
|
||||||
any Locale included the RTL ones. Will need to fix LinearColorBar RTL support later.
|
|
||||||
Please also note the left/right gravities that would also need to be changed for proper
|
|
||||||
RTL support -->
|
|
||||||
<view class="com.android.settings.applications.LinearColorBar"
|
|
||||||
android:id="@+id/color_bar"
|
|
||||||
android:layout_marginStart="@dimen/settings_side_margin"
|
|
||||||
android:layout_marginEnd="@dimen/settings_side_margin"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="-5dp"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:clipChildren="false"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
android:paddingTop="30dp"
|
|
||||||
android:paddingStart="4dp"
|
|
||||||
android:paddingEnd="4dp"
|
|
||||||
android:paddingBottom="1dp"
|
|
||||||
android:layoutDirection="ltr">
|
|
||||||
<TextView android:id="@+id/foregroundText"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:focusable="true"
|
|
||||||
android:gravity="left|bottom"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="#000"
|
|
||||||
android:singleLine="true" />
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="0"
|
|
||||||
android:layout_marginTop="-20dp"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:text="@string/memory" />
|
|
||||||
<TextView android:id="@+id/backgroundText"
|
|
||||||
android:layout_gravity="center_vertical|end"
|
|
||||||
android:layout_width="0px"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:focusable="true"
|
|
||||||
android:gravity="right|bottom"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmallInverse"
|
|
||||||
android:textColor="#000"
|
|
||||||
android:singleLine="true" />
|
|
||||||
</view>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -56,6 +56,10 @@
|
|||||||
<color name="unlock_pattern_view_success_color">@color/theme_accent</color>
|
<color name="unlock_pattern_view_success_color">@color/theme_accent</color>
|
||||||
<color name="unlock_pattern_view_error_color">#fff4511e</color>
|
<color name="unlock_pattern_view_error_color">#fff4511e</color>
|
||||||
|
|
||||||
|
<color name="running_processes_system_ram">#ff384248</color>
|
||||||
|
<color name="running_processes_apps_ram">#ff009587</color>
|
||||||
|
<color name="running_processes_free_ram">#ffced7db</color>
|
||||||
|
|
||||||
<!-- Palette colors referenced by top-level themes. -->
|
<!-- Palette colors referenced by top-level themes. -->
|
||||||
<color name="theme_primary">#ff263238</color>
|
<color name="theme_primary">#ff263238</color>
|
||||||
<color name="theme_primary_dark">#ff21272b</color>
|
<color name="theme_primary_dark">#ff21272b</color>
|
||||||
|
@@ -3096,6 +3096,28 @@
|
|||||||
<!-- Descriptive text of a running process: plural process, plural service. -->
|
<!-- Descriptive text of a running process: plural process, plural service. -->
|
||||||
<string name="running_processes_item_description_p_p"><xliff:g id="numprocess">%1$d</xliff:g>
|
<string name="running_processes_item_description_p_p"><xliff:g id="numprocess">%1$d</xliff:g>
|
||||||
processes and <xliff:g id="numservices">%2$d</xliff:g> services</string>
|
processes and <xliff:g id="numservices">%2$d</xliff:g> services</string>
|
||||||
|
<!-- [CHAR LIMIT=NONE] Top title of the header of the running processes/services list. -->
|
||||||
|
<string name="running_processes_header_title">Device memory</string>
|
||||||
|
<!-- [CHAR LIMIT=NONE] Bottom test of the header leading in to the running
|
||||||
|
processes/services list. -->
|
||||||
|
<string name="running_processes_header_footer">App RAM usage</string>
|
||||||
|
<!-- [CHAR LIMIT=20] Running processes/services header: prefix for line showing RAM
|
||||||
|
used by system. -->
|
||||||
|
<string name="running_processes_header_system_prefix">System</string>
|
||||||
|
<!-- [CHAR LIMIT=20] Running processes/services header: prefix for line showing RAM
|
||||||
|
used by apps. -->
|
||||||
|
<string name="running_processes_header_apps_prefix">Apps</string>
|
||||||
|
<!-- [CHAR LIMIT=20] Running processes/services header: prefix for line showing RAM
|
||||||
|
that is free. -->
|
||||||
|
<string name="running_processes_header_free_prefix">Free</string>
|
||||||
|
<!-- [CHAR LIMIT=20] Running processes/services header: prefix for line showing total RAM
|
||||||
|
used by everything. -->
|
||||||
|
<string name="running_processes_header_used_prefix">Used</string>
|
||||||
|
<!-- [CHAR LIMIT=20] Running processes/services header: prefix for line showing portion
|
||||||
|
of free RAM that is used by cached apps. -->
|
||||||
|
<string name="running_processes_header_cached_prefix">Cached</string>
|
||||||
|
<!-- [CHAR_LIMIT=20] Running processes/services header: formatter for RAM use amount. -->
|
||||||
|
<string name="running_processes_header_ram"><xliff:g id="ram">%1$s</xliff:g> of RAM</string>
|
||||||
|
|
||||||
<!-- Details about an application's running services. -->
|
<!-- Details about an application's running services. -->
|
||||||
<string name="runningservicedetails_settings_title">Running app</string>
|
<string name="runningservicedetails_settings_title">Running app</string>
|
||||||
|
@@ -199,10 +199,10 @@ public class ManageApplications extends Fragment implements
|
|||||||
// Custom view used to display running processes
|
// Custom view used to display running processes
|
||||||
private RunningProcessesView mRunningProcessesView;
|
private RunningProcessesView mRunningProcessesView;
|
||||||
|
|
||||||
private LinearColorBar mColorBar;
|
//private LinearColorBar mColorBar;
|
||||||
private TextView mStorageChartLabel;
|
//private TextView mStorageChartLabel;
|
||||||
private TextView mUsedStorageText;
|
//private TextView mUsedStorageText;
|
||||||
private TextView mFreeStorageText;
|
//private TextView mFreeStorageText;
|
||||||
private long mFreeStorage = 0, mAppStorage = 0, mTotalStorage = 0;
|
private long mFreeStorage = 0, mAppStorage = 0, mTotalStorage = 0;
|
||||||
private long mLastUsedStorage, mLastAppStorage, mLastFreeStorage;
|
private long mLastUsedStorage, mLastAppStorage, mLastFreeStorage;
|
||||||
|
|
||||||
@@ -263,17 +263,17 @@ public class ManageApplications extends Fragment implements
|
|||||||
mApplications = new ApplicationsAdapter(mApplicationsState, this, mFilter);
|
mApplications = new ApplicationsAdapter(mApplicationsState, this, mFilter);
|
||||||
mListView.setAdapter(mApplications);
|
mListView.setAdapter(mApplications);
|
||||||
mListView.setRecyclerListener(mApplications);
|
mListView.setRecyclerListener(mApplications);
|
||||||
mColorBar = (LinearColorBar)mListContainer.findViewById(R.id.storage_color_bar);
|
//mColorBar = (LinearColorBar)mListContainer.findViewById(R.id.storage_color_bar);
|
||||||
mStorageChartLabel = (TextView)mListContainer.findViewById(R.id.storageChartLabel);
|
//mStorageChartLabel = (TextView)mListContainer.findViewById(R.id.storageChartLabel);
|
||||||
mUsedStorageText = (TextView)mListContainer.findViewById(R.id.usedStorageText);
|
//mUsedStorageText = (TextView)mListContainer.findViewById(R.id.usedStorageText);
|
||||||
mFreeStorageText = (TextView)mListContainer.findViewById(R.id.freeStorageText);
|
//mFreeStorageText = (TextView)mListContainer.findViewById(R.id.freeStorageText);
|
||||||
Utils.prepareCustomPreferencesList(contentParent, contentChild, mListView, false);
|
Utils.prepareCustomPreferencesList(contentParent, contentChild, mListView, false);
|
||||||
if (mFilter == FILTER_APPS_SDCARD) {
|
if (mFilter == FILTER_APPS_SDCARD) {
|
||||||
mStorageChartLabel.setText(mOwner.getActivity().getText(
|
//mStorageChartLabel.setText(mOwner.getActivity().getText(
|
||||||
R.string.sd_card_storage));
|
// R.string.sd_card_storage));
|
||||||
} else {
|
} else {
|
||||||
mStorageChartLabel.setText(mOwner.getActivity().getText(
|
//mStorageChartLabel.setText(mOwner.getActivity().getText(
|
||||||
R.string.internal_storage));
|
// R.string.internal_storage));
|
||||||
}
|
}
|
||||||
applyCurrentStorage();
|
applyCurrentStorage();
|
||||||
}
|
}
|
||||||
@@ -389,6 +389,7 @@ public class ManageApplications extends Fragment implements
|
|||||||
if (mRootView == null) {
|
if (mRootView == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if (mTotalStorage > 0) {
|
if (mTotalStorage > 0) {
|
||||||
BidiFormatter bidiFormatter = BidiFormatter.getInstance();
|
BidiFormatter bidiFormatter = BidiFormatter.getInstance();
|
||||||
mColorBar.setRatios((mTotalStorage-mFreeStorage-mAppStorage)/(float)mTotalStorage,
|
mColorBar.setRatios((mTotalStorage-mFreeStorage-mAppStorage)/(float)mTotalStorage,
|
||||||
@@ -419,6 +420,7 @@ public class ManageApplications extends Fragment implements
|
|||||||
mFreeStorageText.setText("");
|
mFreeStorageText.setText("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.applications;
|
package com.android.settings.applications;
|
||||||
|
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.text.BidiFormatter;
|
import android.text.BidiFormatter;
|
||||||
import com.android.internal.util.MemInfoReader;
|
import com.android.internal.util.MemInfoReader;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -71,9 +72,11 @@ public class RunningProcessesView extends FrameLayout
|
|||||||
RunningState.BaseItem mCurSelected;
|
RunningState.BaseItem mCurSelected;
|
||||||
|
|
||||||
ListView mListView;
|
ListView mListView;
|
||||||
|
View mHeader;
|
||||||
ServiceListAdapter mAdapter;
|
ServiceListAdapter mAdapter;
|
||||||
LinearColorBar mColorBar;
|
LinearColorBar mColorBar;
|
||||||
TextView mBackgroundProcessText;
|
TextView mBackgroundProcessText;
|
||||||
|
TextView mAppsProcessText;
|
||||||
TextView mForegroundProcessText;
|
TextView mForegroundProcessText;
|
||||||
|
|
||||||
int mLastNumBackgroundProcesses = -1;
|
int mLastNumBackgroundProcesses = -1;
|
||||||
@@ -316,7 +319,7 @@ public class RunningProcessesView extends FrameLayout
|
|||||||
|
|
||||||
void refreshUi(boolean dataChanged) {
|
void refreshUi(boolean dataChanged) {
|
||||||
if (dataChanged) {
|
if (dataChanged) {
|
||||||
ServiceListAdapter adapter = (ServiceListAdapter)(mListView.getAdapter());
|
ServiceListAdapter adapter = mAdapter;
|
||||||
adapter.refreshItems();
|
adapter.refreshItems();
|
||||||
adapter.notifyDataSetChanged();
|
adapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
@@ -338,38 +341,35 @@ public class RunningProcessesView extends FrameLayout
|
|||||||
synchronized (mState.mLock) {
|
synchronized (mState.mLock) {
|
||||||
if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
|
if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
|
||||||
|| mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
|
|| mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
|
||||||
|
|| mLastNumForegroundProcesses != mState.mNumForegroundProcesses
|
||||||
|
|| mLastForegroundProcessMemory != mState.mForegroundProcessMemory
|
||||||
|
|| mLastNumServiceProcesses != mState.mNumServiceProcesses
|
||||||
|
|| mLastServiceProcessMemory != mState.mServiceProcessMemory
|
||||||
|| mLastAvailMemory != availMem) {
|
|| mLastAvailMemory != availMem) {
|
||||||
mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
|
mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
|
||||||
mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
|
mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
|
||||||
|
mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
|
||||||
|
mLastServiceProcessMemory = mState.mServiceProcessMemory;
|
||||||
mLastAvailMemory = availMem;
|
mLastAvailMemory = availMem;
|
||||||
long freeMem = mLastAvailMemory + mLastBackgroundProcessMemory;
|
long freeMem = mLastAvailMemory + mLastBackgroundProcessMemory;
|
||||||
BidiFormatter bidiFormatter = BidiFormatter.getInstance();
|
BidiFormatter bidiFormatter = BidiFormatter.getInstance();
|
||||||
String sizeStr = bidiFormatter.unicodeWrap(
|
String sizeStr = bidiFormatter.unicodeWrap(
|
||||||
Formatter.formatShortFileSize(getContext(), freeMem));
|
Formatter.formatShortFileSize(getContext(), freeMem));
|
||||||
mBackgroundProcessText.setText(getResources().getString(
|
mBackgroundProcessText.setText(getResources().getString(
|
||||||
R.string.service_background_processes, sizeStr));
|
R.string.running_processes_header_ram, sizeStr));
|
||||||
sizeStr = bidiFormatter.unicodeWrap(
|
sizeStr = bidiFormatter.unicodeWrap(
|
||||||
Formatter.formatShortFileSize(getContext(),
|
Formatter.formatShortFileSize(getContext(),
|
||||||
mMemInfoReader.getTotalSize() - freeMem));
|
mLastForegroundProcessMemory + mLastServiceProcessMemory));
|
||||||
|
mAppsProcessText.setText(getResources().getString(
|
||||||
|
R.string.running_processes_header_ram, sizeStr));
|
||||||
|
sizeStr = bidiFormatter.unicodeWrap(
|
||||||
|
Formatter.formatShortFileSize(getContext(),
|
||||||
|
mMemInfoReader.getTotalSize() - freeMem
|
||||||
|
- mLastForegroundProcessMemory - mLastServiceProcessMemory));
|
||||||
mForegroundProcessText.setText(getResources().getString(
|
mForegroundProcessText.setText(getResources().getString(
|
||||||
R.string.service_foreground_processes, sizeStr));
|
R.string.running_processes_header_ram, sizeStr));
|
||||||
}
|
}
|
||||||
if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
|
|
||||||
|| mLastForegroundProcessMemory != mState.mForegroundProcessMemory
|
|
||||||
|| mLastNumServiceProcesses != mState.mNumServiceProcesses
|
|
||||||
|| mLastServiceProcessMemory != mState.mServiceProcessMemory) {
|
|
||||||
mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
|
|
||||||
mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
|
|
||||||
mLastNumServiceProcesses = mState.mNumServiceProcesses;
|
|
||||||
mLastServiceProcessMemory = mState.mServiceProcessMemory;
|
|
||||||
/*
|
|
||||||
String sizeStr = Formatter.formatShortFileSize(getContext(),
|
|
||||||
mLastForegroundProcessMemory + mLastServiceProcessMemory);
|
|
||||||
mForegroundProcessText.setText(getResources().getString(
|
|
||||||
R.string.service_foreground_processes, sizeStr));
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
float totalMem = mMemInfoReader.getTotalSize();
|
float totalMem = mMemInfoReader.getTotalSize();
|
||||||
float totalShownMem = availMem + mLastBackgroundProcessMemory
|
float totalShownMem = availMem + mLastBackgroundProcessMemory
|
||||||
+ mLastServiceProcessMemory;
|
+ mLastServiceProcessMemory;
|
||||||
@@ -428,27 +428,16 @@ public class RunningProcessesView extends FrameLayout
|
|||||||
mListView.setRecyclerListener(this);
|
mListView.setRecyclerListener(this);
|
||||||
mAdapter = new ServiceListAdapter(mState);
|
mAdapter = new ServiceListAdapter(mState);
|
||||||
mListView.setAdapter(mAdapter);
|
mListView.setAdapter(mAdapter);
|
||||||
mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
|
mHeader = inflater.inflate(R.layout.running_processes_header, null);
|
||||||
mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
|
mListView.addHeaderView(mHeader);
|
||||||
mBackgroundProcessText.setOnClickListener(new View.OnClickListener() {
|
mColorBar = (LinearColorBar)mHeader.findViewById(R.id.color_bar);
|
||||||
@Override
|
Resources res = getResources();
|
||||||
public void onClick(View v) {
|
mColorBar.setColors(res.getColor(R.color.running_processes_system_ram),
|
||||||
mAdapter.setShowBackground(true);
|
res.getColor(R.color.running_processes_apps_ram),
|
||||||
if (mOwner != null) {
|
res.getColor(R.color.running_processes_free_ram));
|
||||||
mOwner.getActivity().invalidateOptionsMenu();
|
mBackgroundProcessText = (TextView)mHeader.findViewById(R.id.freeSize);
|
||||||
}
|
mAppsProcessText = (TextView)mHeader.findViewById(R.id.appsSize);
|
||||||
}
|
mForegroundProcessText = (TextView)mHeader.findViewById(R.id.systemSize);
|
||||||
});
|
|
||||||
mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
|
|
||||||
mForegroundProcessText.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
mAdapter.setShowBackground(false);
|
|
||||||
if (mOwner != null) {
|
|
||||||
mOwner.getActivity().invalidateOptionsMenu();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
|
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
|
||||||
mAm.getMemoryInfo(memInfo);
|
mAm.getMemoryInfo(memInfo);
|
||||||
|
Reference in New Issue
Block a user