Loading core/tests/batterystatstests/BatteryStatsViewer/AndroidManifest.xml +5 −4 Original line number Diff line number Diff line Loading @@ -25,8 +25,7 @@ <application android:theme="@style/Theme" android:label="Battery Stats Viewer"> <activity android:name=".BatteryStatsViewerActivity" android:icon="@mipmap/ic_launcher" <activity android:name=".BatteryConsumerPickerActivity" android:label="Battery Stats" android:launchMode="singleTop" android:exported="true"> Loading @@ -36,7 +35,9 @@ </intent-filter> </activity> <activity android:name=".BatteryConsumerPickerActivity" android:label="Select a battery consumer"/> <activity android:name=".BatteryStatsViewerActivity" android:icon="@mipmap/ic_launcher" android:label="Battery Stats" android:parentActivityName=".BatteryConsumerPickerActivity"/> </application> </manifest> core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerPickerActivity.java +17 −29 Original line number Diff line number Diff line Loading @@ -20,9 +20,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import androidx.activity.result.contract.ActivityResultContract; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentStatePagerAdapter; Loading @@ -32,31 +30,14 @@ import com.google.android.material.tabs.TabLayout; /** * Picker, showing a sorted lists of applications and other types of entities consuming power. * Returns the selected entity ID or null. * Opens BatteryStatsViewerActivity upon item selection. */ public class BatteryConsumerPickerActivity extends FragmentActivity { public static final ActivityResultContract<Void, String> CONTRACT = new ActivityResultContract<Void, String>() { @NonNull @Override public Intent createIntent(@NonNull Context context, Void aVoid) { return new Intent(context, BatteryConsumerPickerActivity.class); } @Override public String parseResult(int resultCode, @Nullable Intent intent) { if (resultCode != RESULT_OK || intent == null) { return null; } return intent.getStringExtra(Intent.EXTRA_RETURN_RESULT); } }; private static final String PREF_SELECTED_BATTERY_CONSUMER = "batteryConsumerId"; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); getActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.battery_consumer_picker_activity_layout); Loading Loading @@ -99,18 +80,25 @@ public class BatteryConsumerPickerActivity extends FragmentActivity { viewPager.setAdapter(adapter); TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.setupWithViewPager(viewPager); if (icicle == null) { final String batteryConsumerId = getPreferences(Context.MODE_PRIVATE) .getString(PREF_SELECTED_BATTERY_CONSUMER, null); if (batteryConsumerId != null) { startBatteryStatsActivity(batteryConsumerId); } } } public void setSelectedBatteryConsumer(String batteryConsumerId) { Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_RETURN_RESULT, batteryConsumerId); setResult(RESULT_OK, intent); finish(); getPreferences(Context.MODE_PRIVATE).edit() .putString(PREF_SELECTED_BATTERY_CONSUMER, batteryConsumerId) .apply(); startBatteryStatsActivity(batteryConsumerId); } @Override public boolean onNavigateUp() { onBackPressed(); return true; private void startBatteryStatsActivity(String batteryConsumerId) { final Intent intent = new Intent(this, BatteryStatsViewerActivity.class) .putExtra(BatteryStatsViewerActivity.EXTRA_BATTERY_CONSUMER, batteryConsumerId); startActivity(intent); } } core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java +8 −36 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.frameworks.core.batterystatsviewer; import android.content.Context; import android.content.SharedPreferences; import android.os.BatteryStatsManager; import android.os.BatteryUsageStats; import android.os.BatteryUsageStatsQuery; Loading @@ -27,9 +26,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.activity.ComponentActivity; import androidx.activity.result.ActivityResultLauncher; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.loader.app.LoaderManager; Loading @@ -45,14 +44,14 @@ import java.util.List; import java.util.Locale; public class BatteryStatsViewerActivity extends ComponentActivity { public static final String EXTRA_BATTERY_CONSUMER = "batteryConsumerId"; private static final int BATTERY_STATS_REFRESH_RATE_MILLIS = 60 * 1000; private static final int MILLIS_IN_MINUTE = 60000; private static final String PREF_SELECTED_BATTERY_CONSUMER = "batteryConsumerId"; private static final int LOADER_BATTERY_USAGE_STATS = 1; private BatteryStatsDataAdapter mBatteryStatsDataAdapter; private final Runnable mBatteryStatsRefresh = this::periodicBatteryStatsRefresh; private SharedPreferences mSharedPref; private String mBatteryConsumerId; private TextView mTitleView; private TextView mDetailsView; Loading @@ -62,21 +61,16 @@ public class BatteryStatsViewerActivity extends ComponentActivity { private RecyclerView mBatteryConsumerDataView; private View mLoadingView; private View mEmptyView; private final ActivityResultLauncher<Void> mStartAppPicker = registerForActivityResult( BatteryConsumerPickerActivity.CONTRACT, this::onApplicationSelected); private List<BatteryUsageStats> mBatteryUsageStats; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSharedPref = getPreferences(Context.MODE_PRIVATE); mBatteryConsumerId = getIntent().getStringExtra(EXTRA_BATTERY_CONSUMER); setContentView(R.layout.battery_stats_viewer_layout); View appCard = findViewById(R.id.app_card); appCard.setOnClickListener((e) -> startAppPicker()); mTitleView = findViewById(android.R.id.title); mDetailsView = findViewById(R.id.details); mIconView = findViewById(android.R.id.icon); Loading @@ -91,11 +85,7 @@ public class BatteryStatsViewerActivity extends ComponentActivity { mLoadingView = findViewById(R.id.loading_view); mEmptyView = findViewById(R.id.empty_view); mBatteryConsumerId = mSharedPref.getString(PREF_SELECTED_BATTERY_CONSUMER, null); loadBatteryStats(); if (mBatteryConsumerId == null) { startAppPicker(); } } @Override Loading @@ -110,25 +100,6 @@ public class BatteryStatsViewerActivity extends ComponentActivity { getMainThreadHandler().removeCallbacks(mBatteryStatsRefresh); } private void startAppPicker() { mStartAppPicker.launch(null); } private void onApplicationSelected(String batteryConsumerId) { if (batteryConsumerId == null) { if (mBatteryConsumerId == null) { finish(); } } else { mBatteryConsumerId = batteryConsumerId; mSharedPref.edit() .putString(PREF_SELECTED_BATTERY_CONSUMER, mBatteryConsumerId) .apply(); mLoadingView.setVisibility(View.VISIBLE); loadBatteryStats(); } } private void periodicBatteryStatsRefresh() { loadBatteryStats(); getMainThreadHandler().postDelayed(mBatteryStatsRefresh, BATTERY_STATS_REFRESH_RATE_MILLIS); Loading Loading @@ -200,9 +171,10 @@ public class BatteryStatsViewerActivity extends ComponentActivity { BatteryConsumerInfoHelper.BatteryConsumerInfo batteryConsumerInfo = batteryConsumerData.getBatteryConsumerInfo(); if (batteryConsumerInfo == null) { mTitleView.setText("Battery consumer not found"); mPackagesView.setVisibility(View.GONE); mHeadingsView.setVisibility(View.GONE); Toast.makeText(this, "Battery consumer not found: " + mBatteryConsumerId, Toast.LENGTH_SHORT).show(); finish(); return; } else { mTitleView.setText(batteryConsumerInfo.label); if (batteryConsumerInfo.details != null) { Loading Loading
core/tests/batterystatstests/BatteryStatsViewer/AndroidManifest.xml +5 −4 Original line number Diff line number Diff line Loading @@ -25,8 +25,7 @@ <application android:theme="@style/Theme" android:label="Battery Stats Viewer"> <activity android:name=".BatteryStatsViewerActivity" android:icon="@mipmap/ic_launcher" <activity android:name=".BatteryConsumerPickerActivity" android:label="Battery Stats" android:launchMode="singleTop" android:exported="true"> Loading @@ -36,7 +35,9 @@ </intent-filter> </activity> <activity android:name=".BatteryConsumerPickerActivity" android:label="Select a battery consumer"/> <activity android:name=".BatteryStatsViewerActivity" android:icon="@mipmap/ic_launcher" android:label="Battery Stats" android:parentActivityName=".BatteryConsumerPickerActivity"/> </application> </manifest>
core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerPickerActivity.java +17 −29 Original line number Diff line number Diff line Loading @@ -20,9 +20,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import androidx.activity.result.contract.ActivityResultContract; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentStatePagerAdapter; Loading @@ -32,31 +30,14 @@ import com.google.android.material.tabs.TabLayout; /** * Picker, showing a sorted lists of applications and other types of entities consuming power. * Returns the selected entity ID or null. * Opens BatteryStatsViewerActivity upon item selection. */ public class BatteryConsumerPickerActivity extends FragmentActivity { public static final ActivityResultContract<Void, String> CONTRACT = new ActivityResultContract<Void, String>() { @NonNull @Override public Intent createIntent(@NonNull Context context, Void aVoid) { return new Intent(context, BatteryConsumerPickerActivity.class); } @Override public String parseResult(int resultCode, @Nullable Intent intent) { if (resultCode != RESULT_OK || intent == null) { return null; } return intent.getStringExtra(Intent.EXTRA_RETURN_RESULT); } }; private static final String PREF_SELECTED_BATTERY_CONSUMER = "batteryConsumerId"; @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); getActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.battery_consumer_picker_activity_layout); Loading Loading @@ -99,18 +80,25 @@ public class BatteryConsumerPickerActivity extends FragmentActivity { viewPager.setAdapter(adapter); TabLayout tabLayout = findViewById(R.id.tab_layout); tabLayout.setupWithViewPager(viewPager); if (icicle == null) { final String batteryConsumerId = getPreferences(Context.MODE_PRIVATE) .getString(PREF_SELECTED_BATTERY_CONSUMER, null); if (batteryConsumerId != null) { startBatteryStatsActivity(batteryConsumerId); } } } public void setSelectedBatteryConsumer(String batteryConsumerId) { Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_RETURN_RESULT, batteryConsumerId); setResult(RESULT_OK, intent); finish(); getPreferences(Context.MODE_PRIVATE).edit() .putString(PREF_SELECTED_BATTERY_CONSUMER, batteryConsumerId) .apply(); startBatteryStatsActivity(batteryConsumerId); } @Override public boolean onNavigateUp() { onBackPressed(); return true; private void startBatteryStatsActivity(String batteryConsumerId) { final Intent intent = new Intent(this, BatteryStatsViewerActivity.class) .putExtra(BatteryStatsViewerActivity.EXTRA_BATTERY_CONSUMER, batteryConsumerId); startActivity(intent); } }
core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java +8 −36 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.frameworks.core.batterystatsviewer; import android.content.Context; import android.content.SharedPreferences; import android.os.BatteryStatsManager; import android.os.BatteryUsageStats; import android.os.BatteryUsageStatsQuery; Loading @@ -27,9 +26,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.activity.ComponentActivity; import androidx.activity.result.ActivityResultLauncher; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.loader.app.LoaderManager; Loading @@ -45,14 +44,14 @@ import java.util.List; import java.util.Locale; public class BatteryStatsViewerActivity extends ComponentActivity { public static final String EXTRA_BATTERY_CONSUMER = "batteryConsumerId"; private static final int BATTERY_STATS_REFRESH_RATE_MILLIS = 60 * 1000; private static final int MILLIS_IN_MINUTE = 60000; private static final String PREF_SELECTED_BATTERY_CONSUMER = "batteryConsumerId"; private static final int LOADER_BATTERY_USAGE_STATS = 1; private BatteryStatsDataAdapter mBatteryStatsDataAdapter; private final Runnable mBatteryStatsRefresh = this::periodicBatteryStatsRefresh; private SharedPreferences mSharedPref; private String mBatteryConsumerId; private TextView mTitleView; private TextView mDetailsView; Loading @@ -62,21 +61,16 @@ public class BatteryStatsViewerActivity extends ComponentActivity { private RecyclerView mBatteryConsumerDataView; private View mLoadingView; private View mEmptyView; private final ActivityResultLauncher<Void> mStartAppPicker = registerForActivityResult( BatteryConsumerPickerActivity.CONTRACT, this::onApplicationSelected); private List<BatteryUsageStats> mBatteryUsageStats; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSharedPref = getPreferences(Context.MODE_PRIVATE); mBatteryConsumerId = getIntent().getStringExtra(EXTRA_BATTERY_CONSUMER); setContentView(R.layout.battery_stats_viewer_layout); View appCard = findViewById(R.id.app_card); appCard.setOnClickListener((e) -> startAppPicker()); mTitleView = findViewById(android.R.id.title); mDetailsView = findViewById(R.id.details); mIconView = findViewById(android.R.id.icon); Loading @@ -91,11 +85,7 @@ public class BatteryStatsViewerActivity extends ComponentActivity { mLoadingView = findViewById(R.id.loading_view); mEmptyView = findViewById(R.id.empty_view); mBatteryConsumerId = mSharedPref.getString(PREF_SELECTED_BATTERY_CONSUMER, null); loadBatteryStats(); if (mBatteryConsumerId == null) { startAppPicker(); } } @Override Loading @@ -110,25 +100,6 @@ public class BatteryStatsViewerActivity extends ComponentActivity { getMainThreadHandler().removeCallbacks(mBatteryStatsRefresh); } private void startAppPicker() { mStartAppPicker.launch(null); } private void onApplicationSelected(String batteryConsumerId) { if (batteryConsumerId == null) { if (mBatteryConsumerId == null) { finish(); } } else { mBatteryConsumerId = batteryConsumerId; mSharedPref.edit() .putString(PREF_SELECTED_BATTERY_CONSUMER, mBatteryConsumerId) .apply(); mLoadingView.setVisibility(View.VISIBLE); loadBatteryStats(); } } private void periodicBatteryStatsRefresh() { loadBatteryStats(); getMainThreadHandler().postDelayed(mBatteryStatsRefresh, BATTERY_STATS_REFRESH_RATE_MILLIS); Loading Loading @@ -200,9 +171,10 @@ public class BatteryStatsViewerActivity extends ComponentActivity { BatteryConsumerInfoHelper.BatteryConsumerInfo batteryConsumerInfo = batteryConsumerData.getBatteryConsumerInfo(); if (batteryConsumerInfo == null) { mTitleView.setText("Battery consumer not found"); mPackagesView.setVisibility(View.GONE); mHeadingsView.setVisibility(View.GONE); Toast.makeText(this, "Battery consumer not found: " + mBatteryConsumerId, Toast.LENGTH_SHORT).show(); finish(); return; } else { mTitleView.setText(batteryConsumerInfo.label); if (batteryConsumerInfo.details != null) { Loading