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

Commit 0e66ec9a authored by Chihhang Chuang's avatar Chihhang Chuang
Browse files

Update the bottom sheet usage of BottomActionBar

Fixes: 191940562
Test: Manually
Change-Id: I3097ae43902864d3acc36e634c0829962562131c
parent ab4c46aa
Loading
Loading
Loading
Loading
+24 −3
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import com.android.wallpaper.module.InjectorProvider;
import com.android.wallpaper.picker.AppbarFragment;
import com.android.wallpaper.widget.BottomActionBar;
import com.android.wallpaper.widget.BottomActionBar.AccessibilityCallback;
import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;

import java.util.List;

@@ -147,9 +148,9 @@ public class ThemeFragment extends AppbarFragment {
            mBottomActionBar.disableActions();
            applyTheme();
        });
        mThemeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
                R.layout.theme_info_view, /* root= */ null);
        mBottomActionBar.attachViewToBottomSheetAndBindAction(mThemeInfoView, INFORMATION);

        mBottomActionBar.bindBottomSheetContentWithAction(
                new ThemeInfoContent(getContext()), INFORMATION);
        mBottomActionBar.setActionClickListener(CUSTOMIZE, this::onCustomizeClicked);

        // Update target view's accessibility param since it will be blocked by the bottom sheet
@@ -378,4 +379,24 @@ public class ThemeFragment extends AppbarFragment {
                themeToEdit.getSerializedPackages());
        startActivityForResult(intent, CustomThemeActivity.REQUEST_CODE_CUSTOM_THEME);
    }

    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {

        private ThemeInfoContent(Context context) {
            super(context);
        }

        @Override
        public int getViewId() {
            return R.layout.theme_info_view;
        }

        @Override
        public void onViewCreated(ThemeInfoView view) {
            mThemeInfoView = view;
            if (mSelectedTheme != null) {
                mThemeInfoView.populateThemeInfo(mSelectedTheme);
            }
        }
    }
}
+21 −4
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.wallpaper.widget.BottomActionBar.BottomAction.APPLY;
import static com.android.wallpaper.widget.BottomActionBar.BottomAction.INFORMATION;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
@@ -42,6 +43,7 @@ import com.android.wallpaper.model.WallpaperInfo;
import com.android.wallpaper.module.InjectorProvider;
import com.android.wallpaper.picker.AppbarFragment;
import com.android.wallpaper.widget.BottomActionBar;
import com.android.wallpaper.widget.BottomActionBar.BottomSheetContent;

import com.bumptech.glide.Glide;

@@ -131,10 +133,8 @@ public class ThemeFullPreviewFragment extends AppbarFragment {
        } else {
            bottomActionBar.showActionsOnly(INFORMATION);
        }
        ThemeInfoView themeInfoView = (ThemeInfoView) LayoutInflater.from(getContext()).inflate(
                R.layout.theme_info_view, /* root= */ null);
        themeInfoView.populateThemeInfo(mThemeBundle);
        bottomActionBar.attachViewToBottomSheetAndBindAction(themeInfoView, INFORMATION);
        bottomActionBar.bindBottomSheetContentWithAction(
                new ThemeInfoContent(getContext()), INFORMATION);
        bottomActionBar.show();
    }

@@ -145,4 +145,21 @@ public class ThemeFullPreviewFragment extends AppbarFragment {
        activity.setResult(RESULT_OK, intent);
        activity.finish();
    }

    private final class ThemeInfoContent extends BottomSheetContent<ThemeInfoView> {

        private ThemeInfoContent(Context context) {
            super(context);
        }

        @Override
        public int getViewId() {
            return R.layout.theme_info_view;
        }

        @Override
        public void onViewCreated(ThemeInfoView view) {
            view.populateThemeInfo(mThemeBundle);
        }
    }
}