Commit Graph

53 Commits

Author SHA1 Message Date
Ankita Vyas
5784198b56 AppClone: Implement clone backend flow
- Add onClick listeners of add/trash icons on Cloned Apps page
- New layout with ImageView(Add icon) and ProgressBar
- Creation of clone user and install package in clone user
- Uninstallation of cloned app
- Summary when app is being cloned and after clone completion
- Action metrics

Bug: 259022623
Test: make RunSettingsRoboTests -j64
Change-Id: Idc76fb8d88ba8987084beef2a0ce4c57d6c45b9e
2022-12-19 06:15:10 +00:00
TreeHugger Robot
e1be0e41ba Merge "Monitor the page scrolling jank for app list pages" 2022-11-11 22:00:11 +00:00
Yanting Yang
9f6c5bdadc Monitor the page scrolling jank for app list pages
Bug: 254237663
Test: take the trace and check the cuj section name
Change-Id: Id9b7affcad354c43c1e8934d81abd1bb51fb2956
2022-11-11 10:59:33 +00:00
Cole Faust
43ff89802c Fix errorprone warnings that should be errors
This commit is part of a large scale change to fix errorprone
errors that have been downgraded to warnings in the android
source tree, so that they can be promoted to errors again.
The full list of changes include the following, but not all
will be present in any one individual commit:

BadAnnotationImplementation
BadShiftAmount
BanJNDI
BoxedPrimitiveEquality
ComparableType
ComplexBooleanConstant
CollectionToArraySafeParameter
ConditionalExpressionNumericPromotion
DangerousLiteralNull
DoubleBraceInitialization
DurationFrom
DurationTemporalUnit
EmptyTopLevelDeclaration
EqualsNull
EqualsReference
FormatString
FromTemporalAccessor
GetClassOnAnnotation
GetClassOnClass
HashtableContains
IdentityBinaryExpression
IdentityHashMapBoxing
InstantTemporalUnit
InvalidTimeZoneID
InvalidZoneId
IsInstanceIncompatibleType
JUnitParameterMethodNotFound
LockOnBoxedPrimitive
MathRoundIntLong
MislabeledAndroidString
MisusedDayOfYear
MissingSuperCall
MisusedWeekYear
ModifyingCollectionWithItself
NoCanIgnoreReturnValueOnClasses
NonRuntimeAnnotation
NullableOnContainingClass
NullTernary
OverridesJavaxInjectableMethod
ParcelableCreator
PeriodFrom
PreconditionsInvalidPlaceholder
ProtoBuilderReturnValueIgnored
ProtoFieldNullComparison
RandomModInteger
RectIntersectReturnValueIgnored
ReturnValueIgnored
SelfAssignment
SelfComparison
SelfEquals
SizeGreaterThanOrEqualsZero
StringBuilderInitWithChar
TreeToString
TryFailThrowable
UnnecessaryCheckNotNull
UnusedCollectionModifiedInPlace
XorPower

See https://errorprone.info/bugpatterns for more
information on the checks.

Bug: 253827323
Test: m RUN_ERROR_PRONE=true javac-check
Change-Id: I29f691a22617b1fc834680ff1cf4ab4244203f06
2022-10-23 12:41:39 -07:00
Yi-Ling Chuang
e763ca1715 Revert "Show previous query upon configuration change"
This reverts commit d9453bf8c6.

Reason for revert: This introduces a new flicker which doesn't seem good. Will have another solution once all things are ready.

Fixes: 232355879
Change-Id: I0bbc4561ce4fbef36d59de15ae98705a6d81574c
2022-05-20 10:11:20 +00:00
Yi-Ling Chuang
d9453bf8c6 Show previous query upon configuration change
Save the query string before configuration changed and set the previous
query string upon the re-create.

Fixes: 204158119
Test: robotest
Change-Id: I48b2a4b272873665a653d2ebc4c02bb99d4b0d0d
2022-05-04 22:22:26 +08:00
Julia Reynolds
b106377155 Add ability to force rebuild list
So that you can change between filters that
have the same sort order.

Test: robotests, manually switch between notifications (off) to
notifications (all)
Fixes: 169943424

Change-Id: I62bbe90f30abada2ec342487a1fa420e451b3caf
2021-11-08 15:47:51 -05:00
Julia Reynolds
e41c89da2a Fix switch listener on app notif page
Test: RoboTests, manually change setting
Fixes: 193442605
Change-Id: Ie93469479e252811921a6451853b073dadb0d0a1
2021-07-14 10:31:30 -04:00
Arc Wang
e8de94a21d Fix 'No Apps' UI issues of ManageApplications
Fixes below UI issues

- "No Apps" may not show in fragments of profile tab.

  Fix it by using ConstraintLayout to specify alignments
  of each view and removing extra padding.

-- "No Apps" may flicker by moving position.

  The flicker is from unnecessary visibility changes.
  This change integrates empty view visibility
  control in LoadingViewController to simplify code
  and avoid unnecessary visibility changes.

Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      Manual visual, observe UI
        Settings -> Storage -> Games
        Settings -> Notifications -> App Settings
	Settings > Apps > Special app access > Media management apps
Change-Id: I634209c6f8466e2adae703226902190bbdf470b9
2021-06-28 11:33:10 +08:00
Arc Wang
0358562a9b Revert "Fix 'No Apps' UI issues of ManageApplications"
This reverts commit 4a97095e36.

Reason for revert: <It has abnormal scroll behavior when there is no profile tab>

Bug: 191945032
Bug: 191944934
Change-Id: Id6c71fbec4f490034bc07f6d8c9efabcb877d110
2021-06-24 08:25:44 +00:00
Arc Wang
4a97095e36 Fix 'No Apps' UI issues of ManageApplications
Fixes below UI issues

- "No Apps" may not show in fragments of profile tab.

  Fix it by using ConstraintLayout to specify alignments
  of each view and removing extra padding.

-- "No Apps" may flicker by moving position.

  The flicker is from unnecessary visibility changes.
  This change integrates empty view visibility
  control in LoadingViewController to simplify code
  and avoid unnecessary visibility changes.

Bug: 189390795
Bug: 183398721
Test: atest com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      Manual visual, observe UI
        Settings -> Storage -> Games
        Settings -> Notifications -> App Settings
	Settings > Apps > Special app access > Media management apps
Change-Id: I9a2500f2fd1dd073ab88f26187541964719523d0
2021-06-22 11:04:24 +08:00
Tsung-Mao Fang
0b9ce16c13 Fix broken test
Fix: 190017630
Test: robo test
Change-Id: I46978a3f3d3d564cd9fcabad47edf6907d4e4966
2021-06-03 16:10:36 +08:00
Tsung-Mao Fang
a51c9988c5 Fix talkback doesn't speak subtext info
In the original design, we only set title description for
view holder, this is wrong. It causes talkback can't
speak subtext info.

Currently, we set the title content description in the title
view directly, so talkback can say the title and subtext now
when talkback focus on an app view.

Test: Talkback speaks full information for an app entry
Fix: 177873163
Change-Id: I94996d596a85cc2813ed1b10cdd4ed2bee62f4a9
2021-05-20 13:45:38 +00:00
Arc Wang
e64f01ccfc Cleanup Storage Settings
There is AOSP built in file browser for image/video/audio
file category, this change cleanup APP based category
for image/video/audio.

Bug: 183078080
Test: atest com.android.settings.deviceinfo
      atest com.android.settings.deviceinfo.storage
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
      make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I925fc9296b8c2df5bd793668f66a12beb7744469
2021-05-04 22:21:53 +08:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
This change do the 2 things:

1. Add new junit tests files which replace robolectric
   RobolectricTestRunner & RuntimeEnvironment with
   AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.

This change migrate 103 files, there are still 1209
files to go.

Bug: 174728471
Test: atest
      make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
2020-12-16 11:17:57 +08:00
Edgar Wang
a8742aa7ab Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: Ia8625091a107fc3fb652d3ba3f75ea3cc1a8d9f5
2020-08-12 11:29:07 +08:00
Edgar Wang
f480c1c3fc Update language to comply with Android's inclusive language guidance
Refactor PowerWhitelistBackend to PowerAllowlistBackend
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: I3d56e6dac1515b49a89f59c34edf403ecb891420
2020-08-04 15:47:57 +08:00
Julia Reynolds
2d91b744cf Add 'all apps' to notification filters
Test: atest
Fixes: 141138853
Change-Id: If77e8186ddbfc754e7bb1a3d8541840f09db38d9
2020-07-29 11:25:15 -04:00
Tsung-Mao Fang
d6c88649f6 Fix broken test cases
Test: Run robo test
Fix: 127602715
Change-Id: Idec3351b76801de98fac502ea59b2396a60df937
2020-05-12 16:57:05 +08:00
Raff Tsai
1825c39b7c Add test cases for regression issue
Fixes: 149362024
Test: make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.applications.manageapplications.ManageApplicationsTest"
Change-Id: I35198d04e6c90edd3e0a23652a7e40b0228a22a5
2020-02-18 15:30:02 +08:00
Tsung-Mao Fang
323347afcc Use system-api lib to get badged, shadowed icons
In order to prevent DoS attack from icon size, we're using
a system lib to help convert any loaded drawable into a flattened
bitmap with an appropriate size.

Test: Open recent app screen and then no crash
Change-Id: Ie148890fbbbf71f42863a8fe727a90615158b8c1
Fix: 33646131
2020-02-06 15:02:56 +08:00
Raff Tsai
cce1a5a1f2 Fix test cases error
Fixes: 147563810
Change-Id: I500f9897c1f8a0e3bdddad15b5f8377d9bb9ded3
Test: robolectric
2020-01-13 22:57:42 +08:00
tmfang
f841748be3 Guard NPE when using search view
Test: This crash pattern was observed from monkey test, I can't reproduce it.
So, just rebuild rom.
Fixes: 132819226

Change-Id: I0726524dcf8e1622d64f75c17b3600a7440b58c2
2019-05-31 10:47:30 +08:00
Fan Zhang
270fd6c872 Misc bug fixes around search bar in app list UI.
- Turn off DEBUG log flag, it's spammy and is a potential PII risk.
- Save search bar expand state so it stays open during screen rotation.
- Introduce a intent extra so callers can deep link into this UI with
  search bar pre-expanded.

Fixes: 130422388
Test: robotest
Change-Id: Ib81080733707306de516c49340571c543e70874e
2019-04-12 13:50:54 -07:00
Fan Zhang
d3b848713d Remove reference to R.id.summary_container.
It's deleted in another CL.

Fixes: 123317946
Test: visual/robo
Change-Id: I7b461ba68e8b56946e4effc26850776881236ec7
2019-03-15 15:41:47 -07:00
tmfang
7fb266f30b Fix janky in App info screen
If a Recycle view inside in a NestedScrollView,
The times of calling recyclerView#onCreateViewHolder()
is requal to its data set.

When there are large set of apps need to be shown,
RecyclerView will need to take many time to call
onCreateViewHolder for each item.

So, it causes the screen is janky or freeze UI when page
is loading large data set.

For now, we get rid of NestedScrollView, just use RecycleView
and AppBarLayout to have same bahavior for spinner.

Fixes: 124384314
Fixes: 123036231
Fixes: 122964660
Fixes: 123088178

Test: 1. Select show system in App info screen. Observe whether there
is any janky.
2. Select show system in App info screen, and then change device
orientation. Observer whether there is any janky.
3. Go to Settings > Apps & notifications> Advanced > Special app access >
Select "battery optimization", and then Tap drop down and select "all
apps". Observe whether ther is any janky.

Change-Id: Icd65e91eec3b32476d80cc12e9c4baa71151306a
2019-02-18 17:52:03 +08:00
tmfang
465ffcd48d Remove empty space in Usage access
When there is no need to show filter component,
we don't need to set an extra padding top.

Test: robotest, visual
Change-Id: Ieaa65ed9785a06f0737aefaf102d0c857002bbdd
Fixes: 123037802
2019-01-29 20:02:49 +08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
Doris Ling
35c066c997 Add search to app info list.
- add a search option menu to the manage applications page.
- add a search filter to the app list adapter to remove any app whose
app name does not contain the search query.

Change-Id: Ie749daeef2cdc4a22fade45422ae90f44d00ceb2
Fixes: 119598311
Test: make RunSettingsRoboTests
2018-12-05 15:31:51 -08:00
Julia Reynolds
a4e51b5238 Add 'notificaton blocked' filter to notifications
Test: robotests
Change-Id: I5c0cd9a2f73b6a22d66df7669e944bbe1473539c
Fixes: 112576746
2018-09-25 09:05:10 -04:00
Julia Reynolds
56966ce8f5 Add checks before casting entry.extraInfo.
Test: make, flash
Change-Id: I1a9d6a51b1f236e711fdb49d9c2f795e7023cfce
Fixes: 113309404
2018-09-19 15:43:08 -04:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Doris Ling
8a5472f516 Fix cached app icon being used in app list.
- change to use the icon from IconDrawableFactory instead of from app
info when building the application list.

Fixes: 63978676
Test: manual, reinstall an app with updated icon and launch
settings->Apps & notifications->See all apps and check the app icon.

Change-Id: I99028ef97fb4fec8c90708b26caaddb7325c1ddb
2018-07-19 12:50:36 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Julia Reynolds
cb691873fd Handle usageevents for work profile apps
Test: robotests
Change-Id: Ifdc6e456d76614220b2052e6ca8a8f3676d0e2ee
Fixes: 79142791
2018-06-11 14:23:51 -04:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Beverly
50f641be29 Update mSortOrder when changed to frequent
Update mSortOrder so when the activity is resumed, the
apps are sorted how the user wants

Test: make ROBOTEST_FILTER=ManageApplicationsTest RunSettingsRoboTests
Change-Id: I422846aada29ee254996b2e94da27af7ed935a0b
Fixes: 77691626
2018-04-11 14:43:06 -04:00
Julia Reynolds
1cda00b12b Allow app lists to have a toggle
And make the notifications app list toggle block/unblock
notifications.

Test: make -j RunSettingsRoboTests
Change-Id: I7417b98fb1c66504897df515c4c84afad591764e
Fixes: 74318867
2018-03-27 18:46:02 -04:00
Fan Zhang
de052eb2b9 Fix text overlap issue when flinging in ManageApplication
The issue is we have a background handler to find app size and set to
summary asynchronously. When flinging quickly, the view being request to
update by the background handler could be scrolled off screen already.
This change forces onPackageSizeChanged update to only happen when it's
not scrolling.

Change-Id: Ia7ccab776c3c789c8d4c0b55104b48e257b9cebf
Fixes: 76176014
Test: manually fling
2018-03-26 11:34:16 -07:00
Julia Reynolds
ff9500d0f9 Add manage notifications screen
Test: make -j RunSettingsRoboTests
Bug: 74318867
Change-Id: I1c872c976677ee38f7d9d9523d18fc8ca03fa547

Add manage notifications screen

Test: make -j RunSettingsRoboTests
Bug: 74318867
Change-Id: Ia3626e9f69e8b91b1a2bba9ef549c775972e749a
2018-03-22 19:57:09 -04:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Andreas Gampe
a8e5e217d5 Settings: Change an assert in test
Avoid isEqualsTo for a self-equality test.

Bug: 73797873
Test: m javac-check RUN_ERROR_PRONE=true
Test: m RunSettingsRoboTests
Change-Id: I6f0398b4518d6c967c8cfea38b5c075304b5f368
2018-02-22 22:00:10 -08:00
Fan Zhang
4f389a7731 Tweak app notification page title and expand button cutoff
Change-Id: If9b93023ac9ab946b7c2b0dd65852948029da896
Fixes: 71813209
Test: visual
2018-01-12 15:00:09 -08:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08:00
jeffreyhuang
90dd4b668a move manageapplications to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: I84b62392a4a4d55c1d4e6a9eadc5910e4b9a8530
2017-11-27 13:45:51 -08:00
jeffreyhuang
85aa1ea129 Update viewholder tests to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: I81bfdff059255b3e7a20270dea62ffd56cc53ad5
2017-11-27 13:45:51 -08:00
Tony Mantler
94a7c7d21c Convert SettingsLib Lifecycle to Flatfoot
Bug: 69257739
Test: m -j RunSettingsRoboTests
Change-Id: I27e7850c39afb9c09297007e8cc352f410665653
2017-11-14 11:04:40 -08:00
Fan Zhang
974d2fe080 Update UI to use a smaller icon for ManageApplication page.
- Rewrite preference_app.xml to have a small icon
- Update ApplicationViewHolder to hide/show summary row dynamically
  - but only do this for notification settings - this UI has empty
    summary for most row. For other UI, just keep the empty summary row
    until summary comes in. If we also hide/show summary row there will
    be a height change animation which is janky.

Bug : 65182905
Fixes: 63582851
Test: robotests

Change-Id: Ice67324f08c67e014a018dfc51e00fe4449036dd
2017-10-30 12:20:49 -07:00