Commit Graph

253 Commits

Author SHA1 Message Date
Doris Ling
529e207986 Create version 2 of InstalledAppDetails
- this is the first step for converting InstalledAppDetails into
DashboardFragment
- add a feature flag to determine whether to show the new installed app
detail page.
- decouple the fragment from AppInfoBase: extends from
SettingsPreferenceFragment directly and copy all codes from
AppInfoBase.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: If1ab5b216620eaba1d6bde20e65e7a602931fd94
2017-11-17 15:37:34 -08:00
TreeHugger Robot
2bb74379e5 Merge "Update preference screen title." 2017-10-25 20:30:31 +00:00
Doris Ling
03a3b518de Update preference screen title.
- Add missing title to preference screen xml so that they will be used to
set the activity title when the fragment is launched.
- Also updated some incorrect preference screen titles.
- Overrides getTitle() in preference fragments that do not use the
preference screen xml.

Bug: 64564191
Test: blaze-bin/screenshots/android/i18nscreenshots/i18nscreenshots
Change-Id: Id72d5ddf18f0962bc484de8bbd847a2e55d6371e
2017-10-25 11:02:07 -07:00
Doris Ling
2e950fca63 Set uninstall button to gray color.
For user installed app, set the uninstall button as negative button so
that it will have the correct color.

Change-Id: Ic631386affddf82ae0ebbf29fb572de1f067fc90
Fixes: 68154647
Test: make RunSettingsRoboTests
2017-10-23 14:05:45 -07:00
Jeff Davidson
3638973a17 Explicitly set ENABLED state when a user enables an app.
When a user explicitly clicks a button labeled "Enable" for an
application in settings, the underlying package state should reflect
this. Otherwise, it is impossible to distinguish between the default
state of an app and an app which the user has explicitly requested to
enable.

This behavior is consistent with the Play Store's.

This also fixes a metrics bug where enabling a DISABLED_UNTIL_USED app
would be erroneously treated as disabling the app.

Test: Flashed and verified enabling both DISABLED_UNTIL_USED and
DISABLED apps.
Fixes: 64223206

Change-Id: Ic18068e6047045d6f5333eaf10fcddd1e95a679d
2017-09-29 14:33:01 -07:00
Doris Ling
dee1a22c45 Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.

Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
2017-09-14 18:24:49 -07:00
Lei Yu
9260c92c24 Merge "Add device/profile app check in background check" into oc-mr1-dev am: f5d7db2cfa
am: ec8007b426

Change-Id: I118fee2b974a0815d21d422358250281da9804f0
2017-08-30 17:21:30 +00:00
jackqdyulei
00015fbf50 Add device/profile app check in background check
If app is device or profile app, we disable the background check
toggle. This cl also create an util method for this check and
remove duplicate code

Bug: 64665807
Test: RunSettingsRoboTests
Change-Id: Id8336eadaac8832327bc3653aaa7dfbacde352ac
2017-08-29 16:10:36 -07:00
TreeHugger Robot
c7e7f28e88 Merge "Convert more pages to use ActionButtonPreference" 2017-08-01 23:40:59 +00:00
Fan Zhang
1105a1a465 Convert more pages to use ActionButtonPreference
- text to speech page
- blue tooth detail page
- installed app page

Change-Id: Ib743a144cc6025055cd496ec077f13fce4db0c69
Bug: 63991885
Test: robotests
2017-08-01 14:27:42 -07:00
Tony Mantler
3d84d56336 Remove development settings prefs file
Move DevelopmentSettingsEnabler to SettingsLib

Bug: 64159590
Test: DevelopmentSettingsEnablerTest
Change-Id: Id609266019e05a3e06b4ee3bc10de9c019628a42
2017-07-31 14:01:09 -07:00
jackqdyulei
51872ed345 Use package from sipper if default is null
The BatteryEntry need a background thread to update the
package name and icon. However in InstalledAppDetails we
don't have this thread and it is unnecessary because we
already has the package name.

This cl:
1. Use the mPackageName from InstalledAppDetails directly in
BatteryEntry
2. Double check the defaultPackageName in AdvancedPowerUsageDetail,
use packageName from sipper if default is null

This cl is cherry picked from oc-dr to fix the test breakage.

Bug: 64127162
Test: RunSettingsRoboTests

Change-Id: I5d21afca17f177817976758c28ed86b3a10e95eb
2017-07-28 14:16:38 -07:00
TreeHugger Robot
a8cae6b71d Merge "BidiFormat wrap version code in installed app detail UI" 2017-07-19 00:52:38 +00:00
Fan Zhang
3f8408e2b2 BidiFormat wrap version code in installed app detail UI
Change-Id: Ib592e4504331c4fc334ef5257e3d6d21c08098c0
Fix: 37862201
Test: visual
2017-07-18 15:15:10 -07:00
Lei Yu
0038e448e1 Merge "Never store battery stats for cache" into oc-dr1-dev am: 8f8797f768
am: c150df6f8e

Change-Id: Iea0ac999b8f4dea20e0252b91b3013a5740ce353
2017-07-18 21:06:25 +00:00
jackqdyulei
114cf2a1a7 Never store battery stats for cache
In PowerUsageBase, it will store battery stats if it has a configuration
change, which will make BatteryStatsLoaderHelper never get the correct
battery stats because it uses Bundle.EMPTY as the bundle message.

This cl:
1. Remove the store action even though it is configuration change.
2. Always use null to get battery stats
3. Always start a battery status check in register()

Bug: 63658232
Test: RunSettingsRoboTests
Change-Id: Ifbf970c63378ed66dddcdae4d952b7d1fd84216a
2017-07-14 15:36:40 -07:00
Rajeev Kumar
9664c1a55e Refactor few public static methods.
Move public static methods from DataUsageSummary to DataUsageBase.

Bug: 62349208
Test: make RunSettingsRoboTests -j40
Change-Id: I632f75f4c4f370fb225a9787267043fec20994e5
2017-07-14 14:01:02 -07:00
Fan Zhang
880e8c212c Hide memory setting in app detail unless dev option is on.
Change-Id: I785be8bc5228fa87e783f5ddbc41284346b8c8f1
Fix: 62059976
Test: robotests
2017-07-14 11:13:06 -07:00
Fan Zhang
2ea6700336 Show default app icon in default app screen.
- Renamed AdvancedAppSettings to DefaultAppSettings.
- Add logic to DefaultAppPreferenceController to also display icon.
- Modified DefautlAssistPrefController to suppress gear icon, and use
  the controller in default app setting UI to display icon.
- Remove dynamic injected payment setting activity and create the
  setting statically in xml.
- Add DefaultPaymentSettingsPreference to display default payment app
  title (no icon because we can't get it)

Change-Id: I6b8c768da0bafe5ec9a85ba9c79c7993b449be25
Fix: 36458534
Test: robotests
2017-07-13 13:49:28 -07:00
Fan Zhang
75bee9bf98 App header cleanup
- Refactor the entity header layout to use LinearLayout and add id to
  content area
- Remove now unused AppHeader class
- Make entire icon+text area clickable and link to app info page
  Refactor the binding logic from bindButton to its own method.
- Remove unused MultiLinePreference

Fix: 62705377
Test: make RunSettingsRoboTests

Change-Id: I6db554695410e71b669f6fdba29d98fedc3364b9
2017-07-06 13:23:38 -07:00
jackqdyulei
3fb054f3d3 Display anomaly in battery usage page
This cl adds a new parameter, mAnomalies, for
AdvancedPowerUsageDetail.

If it is null, fragment will start AnomalyLoader to detect anomaly.
If not null, just display the anomaly.

Bug: 36925180
Test: RunSettingsRoboTests

Change-Id: I572bc5954c1cdb210d18b6dbe1ab9dba25c0a61f
2017-06-15 10:44:34 -07:00
jackqdyulei
210110f4ed Restart loader in onResume
We need to refresh batterystatsHelper in onResume, so we need to
call restartLoader instead of initLoader

Bug: 62237848
Test: RunSettingsRoboTests
Change-Id: I6f7e1b57b945c92d34587ca24db192600e7f797f
2017-06-01 15:57:08 -07:00
Fan Zhang
a45f3d2f33 Add method to disable "disable" button in installed app UI
OEMs can now force grey out the "disable" button for important apps on
device.

Change-Id: Ic075a07ad12592bd60238c7b1c9ab84932c8db3c
Fix: 38250742
Test: make RunSettingsRoboTests
2017-05-31 11:53:29 -07:00
jackqdyulei
2a95a63466 Make "Battery usage" accessible at any time
Before this cl, user could go to "Battery usage" page only if
related app has battery usage. This cl breaks this rule so we
could open "Battery usage" without battery data.

Bug: 38497822
Test: RunSettingsRoboTests
Change-Id: Ic53c33b7dcbac82de58f31cf96e0bd8fa54e53ea
2017-05-23 13:30:15 -07:00
Lei Yu
6784e41977 Merge "Use BatteryStatsLoader in InstalledAppDetails" into oc-dev am: 37f6b7f751
am: 996adfeb29

Change-Id: I11d0c39a68428637ce12aaffaa2a4f1e49bb716e
2017-05-23 06:23:31 +00:00
jackqdyulei
013d3f6342 Use BatteryStatsLoader in InstalledAppDetails
InstalledAppDetails uses AsyncTask to update foreground mBatteryStatsHelper
in background thread, which is dangerous. This cl make
InstalledAppDetails use BatteryStatsLoader to update batteryStatsHelper
and only assign it once in UI thread.

Bug: 38497555
Test: RunSettingsRoboTests
Change-Id: I3078b60a2dae36995ae5f925b4d49e36e79bddfd
2017-05-22 17:39:19 -07:00
Fan Zhang
841d1d5aab Show shadow when entity header starts scrolling.
- Add a controller to manage add/remove onScrollChangedListener to
  recyclerviews.
- When recyclerview on each screen is scrolled to top, set actionbar
  elevation to 0, otherwise set it to non-zero.
- When screen is moved to background, detach the listener.
- Use the controller in entity header.

Change-Id: Iecf194d885098c98c392810f62893ae9189f3936
Fix: 37670670
Test: make RunSettingsRoboTests
2017-05-22 17:16:24 -07:00
Fan Zhang
d7414259d0 Move entity header controller out of application package.
Bug: 37669238
Test: rerun robotests
Change-Id: I54eb30f28fa0a88a6f0b97b53f9f1408320b5ce0
2017-05-18 16:36:32 -07:00
Fan Zhang
f5bd885a1d Clean up settings_entity_header layout.
update layout view IDs, and controller variable names to be more
generic.

Fix: 36734470
Bug: 37669238
Test: make RunSettingsRoboTests
Change-Id: Ib80827ae3eae6d01a600068b4a8a44b239c32511
2017-05-18 16:35:27 -07:00
Fan Zhang
2ed0f99989 Rename app_details to entity_header
Bug: 37669238
Test: rerun robotests
Change-Id: Iab2cdf83d8b35ce3d45b0c413cad8614d44d5ed3
2017-05-17 18:17:20 -07:00
Fan Zhang
8e0754e84c Correctly report whether the current app is default home.
Change-Id: I79c374228e82c91667d7b5a0dcc19fa1216e57c4
Fix: 38065524
Test: make RunSettingsRoboTests
2017-05-15 10:17:37 -07:00
Doris Ling
93be46ce5e Refresh the App Info option menu after unintalling app updates.
When we are done uninstalling app updates, invalidate the options menu
so that it will be rebuilt and the correct available menu items will be
shown.

Change-Id: I485fe9ff129ac0b2d75094c3b899bf6553e54c74
Fix: 36407258
Test: make RunSettingsRoboTests
2017-04-26 16:35:38 -07:00
Fan Zhang
f6126e7a00 Fix ANR in installed app details.
InstalledAppDetails tries to refreshUi whenever something about a
package changes. It does not need to refresh when the changing package
is different from what's being displayed.

Change-Id: Ib45289c39ee402cf8974bf52c881f44d225b8be5
Fix: 37424866
Test: make RunSettingsRoboTests
2017-04-24 21:51:32 -07:00
Fan Zhang
dcc0af50c6 Remove deep link to app store from app header.
The link doesn't actually work and uses wrong icon. There is a working
version at the app info screen already.

Change-Id: I16890bd66e095c3185e12d604d8daba5036ab24c
Fix: 37544209
Test: robotests
2017-04-20 13:45:23 -07:00
Fan Zhang
be6fab0135 Update action bar style in app header UI.
- Update background color of actionbar
- Remove elevation of actionbar so it appears to be the same entity as
  app header.
- Add a shadow below app header view. We can't set elevation on app
  header unfortunately because that will add shadow all round the view,
  but we only want shadow below it.
- Updated app icon size/text size per to match UI spec.

Change-Id: I63d7fa42b859a008fa662aaf19848cd40529c2ff
Fix: 37207527
Fix: 37079248
Test: visual && make RunSettingsRoboTests
2017-04-17 09:30:40 -07:00
TreeHugger Robot
0f34680fe0 Merge "Instant apps show supported links not open default" into oc-dev 2017-04-14 00:41:01 +00:00
Jesse Evans
edc5099e89 Instant apps show supported links not open default
On the app info page, instant apps show only the supported links
dialog rather than Open by default which opens in a secondary page
where the user can control things that aren't relevant to instant
apps.
Test: make RunSettingsRoboTests
Bug: 36497697
Change-Id: If4eba7c11c5490cbda1ef617002121fe108c4085
2017-04-13 15:17:41 -07:00
TreeHugger Robot
28371d9c9e Merge "Instant apps should not say App Installed by" into oc-dev 2017-04-13 19:36:53 +00:00
jackqdyulei
7f4c5fc1f4 Move bunch of battery methods to BatteryUtils.java
This cl moves following methods to BatteryUtils:
1. shouldHideSipper
2. removeHiddenBatterySippers
3. calculateBatteryPercent

As a result, we could use these methods in battery page as well
as app info page.

This cl also move bunch of tests to new file and add test for
method calculateBatteryPercent

Bug: 36816681
Test: RunSettingsRoboTests
Change-Id: Ic32700fe9741fbb96363db4af2d4fccb3ee8e317
2017-04-12 10:10:51 -07:00
Jesse Evans
de4e056449 Instant apps should not say App Installed by
Changes the text on the app installer details to say
"More info on {App Store Name}".

Test: make RunSettingsRoboTests
Bug: 36512295
Change-Id: I8629f840e9f4e5ce12ba91e9cb9def0db0471162
2017-04-12 07:02:19 -07:00
Lei Yu
bde7097fb9 Merge "Remove PowerUsageDetail.java" into oc-dev 2017-04-07 01:34:37 +00:00
TreeHugger Robot
418e5bffda Merge "Fix crash when opening battery page" into oc-dev 2017-04-05 22:45:46 +00:00
Daniel Nishi
4c52af621a Merge "Lower case the first letter of storage type." into oc-dev 2017-04-05 22:06:55 +00:00
jackqdyulei
ae01ef5906 Remove PowerUsageDetail.java
Now we use AdvancedPowerUsageDetail instead.

This cl also:
1. Remove PowerUsageDetail in SearchIndexableResources since we
don't want to index PowerUsageDetail
2. Add AdvancedPowerUsageDetail in SettingsGateway

Bug: 36992358
Test: Build
Change-Id: I598bb159aa2b5a4889071ae9a17d29554e6afe11
2017-04-05 14:20:06 -07:00
jackqdyulei
cdbc114376 Fix crash when opening battery page
The settings crashes when opening battery usage detail page from
installed app page. Main reason is that it trying to open obsolete
page. This cl directs it to open AdvancedPowerUsageDetail instead.

Following cl will make InstalledAppDetail show calibrated percentage,
which is trakced in b/36816681

Bug: 36792973
Test: RunSettingsRoboTests
Change-Id: Ie63e64e543ed3b28974ffdda8b42c97e7749a0f7
(cherry picked from commit fac713318c)
2017-04-05 14:12:26 -07:00
Jesse Evans
5c9f7a88b4 Adds the Clear App dialog for Instant Apps
Adds a confirmation dialog for the user when tapping clear app.

From this dialog the user can either cancel, or confirm they
want to clear the app.

Test: make RunSettingsRoboTests

Bug: 36536695
Change-Id: Idffcf5ef318578ae2e075ea2cbb35323d41acade
2017-04-04 08:30:38 -07:00
Jesse Evans
15c7f5fda4 Removes summary text from Instant Apps details
Test: Robolectric test to ensure header item is GONE.

Bug: 36512295
Change-Id: I020e90d6521c853e67ae600e5786445a8469a934
(cherry picked from commit 14a258443f)
2017-03-31 02:27:53 +00:00
Daniel Nishi
45c42b2c70 Lower case the first letter of storage type.
In the app details, the first letter of the storage type was
capitalized, causing an odd string of "X used in Internal storage."

Change-Id: Ibcac54259403f6d0f39df8fa2d3af10304a46057
Merged-In: I2b4f23ea1799dc1730fdab596e4a87a0cb673c68
Fixes: 36001265
Test: Settings robotest
2017-03-30 13:31:57 -07:00
TreeHugger Robot
f85ebb24bb Merge "Changes to installed app details screen for instant apps" 2017-03-28 01:22:47 +00:00
Antony Sargent
09955c3865 Changes to installed app details screen for instant apps
Bug: 35098444
Test: make RunSettingsRoboTests

This implements the following changes to the app details screen:

-Suppresses the "Uninstall" and "Force Stop" buttons
-Adds "Install app" and "Clear app" buttons
-Adds a mechanism for showing a link to the store's app details
 page that can be different from the default for installed apps.

Change-Id: Icea83f7d1fde62d4101cb0c8a6d03849f6c56bca
2017-03-27 14:34:56 -07:00