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
This commit is contained in:
Ankita Vyas
2022-11-29 06:38:03 +00:00
parent ff861d54d4
commit 5784198b56
7 changed files with 317 additions and 32 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.applications.manageapplications;
import static com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_NONE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
@@ -117,7 +119,8 @@ public class ApplicationViewHolderTest {
@Test
public void twoTouchTarget() {
mView = ApplicationViewHolder.newView(new FrameLayout(mContext), true);
mView = ApplicationViewHolder.newView(new FrameLayout(mContext), true,
LIST_TYPE_NONE);
mHolder = new ApplicationViewHolder(mView);
assertThat(mHolder.mSwitch).isNotNull();
assertThat(mHolder.mWidgetContainer.getChildCount()).isEqualTo(1);
@@ -126,7 +129,8 @@ public class ApplicationViewHolderTest {
@Test
public void updateSwitch() {
final CountDownLatch latch = new CountDownLatch(1);
mView = ApplicationViewHolder.newView(new FrameLayout(mContext), true);
mView = ApplicationViewHolder.newView(new FrameLayout(mContext), true,
LIST_TYPE_NONE);
mHolder = new ApplicationViewHolder(mView);
mHolder.updateSwitch((buttonView, isChecked) -> latch.countDown(), true, true);