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

Commit 94d9bdb8 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Introduce ButtonInterface and getHomeId()" into nyc-mr1-dev am:...

Merge "Merge "Introduce ButtonInterface and getHomeId()" into nyc-mr1-dev am: 54c32133" into nyc-mr1-dev-plus-aosp
parents 93e2672d e3c41b81
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.view.ViewGroup;

import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.ViewMediatorCallback;
import com.android.systemui.R;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.phone.KeyguardBouncer;
import com.android.systemui.statusbar.phone.NotificationIconAreaController;
@@ -115,4 +116,11 @@ public class SystemUIFactory {
    public <T> T createInstance(Class<T> classType) {
        return null;
    }

    /**
     * @return The id for the home button layout.
     */
    public int getHomeLayoutId() {
        return R.layout.home;
    }
}
+18 −8
Original line number Diff line number Diff line
@@ -14,11 +14,10 @@

package com.android.systemui.statusbar.phone;

import android.annotation.DrawableRes;
import android.annotation.Nullable;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.ImageView;

import com.android.systemui.statusbar.policy.KeyButtonView;

import java.util.ArrayList;

@@ -65,9 +64,9 @@ public class ButtonDispatcher {
            view.setVisibility(mVisibility);
        }
        if (mImageResource > 0) {
            ((ImageView) view).setImageResource(mImageResource);
            ((ButtonInterface) view).setImageResource(mImageResource);
        } else if (mImageDrawable != null) {
            ((ImageView) view).setImageDrawable(mImageDrawable);
            ((ButtonInterface) view).setImageDrawable(mImageDrawable);
        }
    }

@@ -88,7 +87,7 @@ public class ButtonDispatcher {
        mImageResource = -1;
        final int N = mViews.size();
        for (int i = 0; i < N; i++) {
            ((ImageView) mViews.get(i)).setImageDrawable(mImageDrawable);
            ((ButtonInterface) mViews.get(i)).setImageDrawable(mImageDrawable);
        }
    }

@@ -97,7 +96,7 @@ public class ButtonDispatcher {
        mImageDrawable = null;
        final int N = mViews.size();
        for (int i = 0; i < N; i++) {
            ((ImageView) mViews.get(i)).setImageResource(mImageResource);
            ((ButtonInterface) mViews.get(i)).setImageResource(mImageResource);
        }
    }

@@ -114,7 +113,7 @@ public class ButtonDispatcher {
        // This seems to be an instantaneous thing, so not going to persist it.
        final int N = mViews.size();
        for (int i = 0; i < N; i++) {
            ((KeyButtonView) mViews.get(i)).abortCurrentGesture();
            ((ButtonInterface) mViews.get(i)).abortCurrentGesture();
        }
    }

@@ -165,4 +164,15 @@ public class ButtonDispatcher {
    public void setCurrentView(View currentView) {
        mCurrentView = currentView.findViewById(mId);
    }

    /**
     * Interface for ImageView button actions.
     */
    public interface ButtonInterface {
        void setImageResource(@DrawableRes int resId);

        void setImageDrawable(@Nullable Drawable drawable);

        void abortCurrentGesture();
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -26,7 +26,9 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.Space;

import com.android.systemui.R;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.statusbar.policy.KeyButtonView;
import com.android.systemui.tuner.TunerService;

@@ -219,7 +221,7 @@ public class NavigationBarInflaterView extends FrameLayout implements TunerServi
        String button = extractButton(buttonSpec);
        View v = null;
        if (HOME.equals(button)) {
            v = inflater.inflate(R.layout.home, parent, false);
            v = inflater.inflate(SystemUIFactory.getInstance().getHomeLayoutId(), parent, false);
            if (landscape && isSw600Dp()) {
                setupLandButton(v);
            }
+15 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.statusbar.policy;

import android.annotation.DrawableRes;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.content.Context;
import android.content.res.Configuration;
@@ -42,11 +44,12 @@ import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.ImageView;

import com.android.systemui.R;
import com.android.systemui.statusbar.phone.ButtonDispatcher;

import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_LONG_CLICK;

public class KeyButtonView extends ImageView {
public class KeyButtonView extends ImageView implements ButtonDispatcher.ButtonInterface {

    private int mContentDescriptionRes;
    private long mDownTime;
@@ -247,10 +250,21 @@ public class KeyButtonView extends ImageView {
                InputManager.INJECT_INPUT_EVENT_MODE_ASYNC);
    }

    @Override
    public void abortCurrentGesture() {
        setPressed(false);
        mGestureAborted = true;
    }

    @Override
    public void setImageResource(@DrawableRes int resId) {
        super.setImageResource(resId);
    }

    @Override
    public void setImageDrawable(@Nullable Drawable drawable) {
        super.setImageDrawable(drawable);
    }
}