Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96e6398e authored by Ankita Vyas's avatar Ankita Vyas Committed by Android (Google) Code Review
Browse files

Merge "AppClone: Add animation and description text in Cloned Apps page."

parents 402e9cc5 7bad1241
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2023 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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
        android:paddingBottom="16dp"
        android:paddingTop="8dp">

    <TextView
        android:id="@+id/apps_top_intro_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textDirection="locale"
        android:clickable="false"
        android:longClickable="false"
        android:textAppearance="@style/TextAppearance.TopIntroText"/>

    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/illustration_lottie"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:visibility="visible"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        app:lottie_autoPlay="true"
        app:lottie_loop="true"
        app:lottie_speed="1.5"/>

    <TextView
        android:id="@+id/app_list_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:textDirection="locale"
        android:clickable="false"
        android:longClickable="false"
        android:textAppearance="@style/TextAppearance.TopIntroText"/>

</LinearLayout>
 No newline at end of file
+1 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Diff line number Diff line
@@ -6577,6 +6577,9 @@
    <string name="cloned_apps_dashboard_title">Cloned Apps</string>
    <!-- Description for introduction of the cloned apps page [CHAR LIMIT=NONE]-->
    <string name="desc_cloned_apps_intro_text">Create a second instance of an app so that you can use two accounts at the same time.</string>
    <!-- Description while displaying cloneable app list in Cloned Apps page [CHAR LIMIT=NONE]-->
    <string name="desc_cloneable_app_list_text">Apps that can be cloned.</string>
    <!-- Summary for Cloned Apps menu [CHAR  LIMIT=40] -->
    <string name="cloned_apps_summary"><xliff:g id="cloned_apps_count">%1$s</xliff:g> cloned, <xliff:g id="allowed_apps_count">%2$d</xliff:g> available to clone</string>
    <!-- Description for cloned apps removal title [CHAR LIMIT=40]-->
    <string name="delete_all_app_clones">Delete all App clones</string>
+21 −0
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@ import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.widget.LottieColorUtils;

import com.airbnb.lottie.LottieAnimationView;


public class ApplicationViewHolder extends RecyclerView.ViewHolder {
@@ -113,6 +116,24 @@ public class ApplicationViewHolder extends RecyclerView.ViewHolder {
        return view;
    }

    static View newHeaderWithAnimation(Context context, ViewGroup parent, int resIntroText,
            int resAnimation, int resAppListText) {
        ViewGroup view = (ViewGroup) LayoutInflater.from(parent.getContext())
                .inflate(R.layout.preference_app_header_animation, parent, false);
        TextView introText = view.findViewById(R.id.apps_top_intro_text);
        introText.setText(resIntroText);

        LottieAnimationView illustrationLottie = view.findViewById(R.id.illustration_lottie);
        illustrationLottie.setAnimation(resAnimation);
        illustrationLottie.setVisibility(View.VISIBLE);
        LottieColorUtils.applyDynamicColors(context, illustrationLottie);

        TextView appListText = view.findViewById(R.id.app_list_text);
        appListText.setText(resAppListText);

        return view;
    }

    void setSummary(CharSequence summary) {
        mSummary.setText(summary);
        updateSummaryVisibility();
+3 −2
Original line number Diff line number Diff line
@@ -1376,8 +1376,9 @@ public class ManageApplications extends InstrumentedFragment
                        LIST_TYPE_NOTIFICATION);
            } else if (mManageApplications.mListType == LIST_TYPE_CLONED_APPS
                    && viewType == VIEW_TYPE_APP_HEADER) {
                view = ApplicationViewHolder.newHeader(parent,
                        R.string.desc_cloned_apps_intro_text);
                view = ApplicationViewHolder.newHeaderWithAnimation(mContext, parent,
                        R.string.desc_cloned_apps_intro_text, R.raw.app_cloning,
                        R.string.desc_cloneable_app_list_text);
            } else if (mManageApplications.mListType == LIST_TYPE_CLONED_APPS
                    && viewType == VIEW_TYPE_TWO_TARGET) {
                view = ApplicationViewHolder.newView(