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

Commit dca66a4d authored by Wysie's avatar Wysie
Browse files

Lockscreen Changes

parent 99e5e6e7
Loading
Loading
Loading
Loading
+59 −14
Original line number Diff line number Diff line
@@ -93,6 +93,9 @@ public class DragLock extends View implements LockPattern {
    private State mState = State.Record;
    private boolean mInputEnabled = true;
    private boolean mInStealthMode = false;
    private boolean mVisibleDots = true;
    private boolean mShowErrorPath = true;
    
    private boolean mTactileFeedbackEnabled = true;

    private float mDiameterFactor = 0.5f;
@@ -207,6 +210,22 @@ public class DragLock extends View implements LockPattern {
        mInStealthMode = inStealthMode;
    }
    
    public void setVisibleDots(boolean visibleDots) {
        mVisibleDots = visibleDots;
    }
    
    public boolean isVisibleDots() {
        return mVisibleDots;
    }
    
    public void setShowErrorPath(boolean showErrorPath) {
        mShowErrorPath = showErrorPath;
    }
    
    public boolean isShowErrorPath() {
        return mShowErrorPath;
    }

    /**
     * Set whether the view will use tactile feedback.  If true, there will be
     * tactile feedback as the user enters the pattern.
@@ -707,7 +726,7 @@ public class DragLock extends View implements LockPattern {
        // only the last segment of the path should be computed here
        // draw the path of the pattern (unless the user is in progress, and
        // we are in stealth mode)
        final boolean drawPath = (!mInStealthMode || mState == State.Incorrect);
        final boolean drawPath = ((!mInStealthMode && mState != State.Incorrect) || (mState == State.Incorrect && mShowErrorPath));
        if (drawPath) {
            boolean anyCircles = false;
            for (int i = 0; i < count; i++) {
@@ -742,6 +761,7 @@ public class DragLock extends View implements LockPattern {
        final int paddingTop = mPaddingTop;
        final int paddingLeft = mPaddingLeft;
        
        if (mVisibleDots) {
            for (int i = 0; i < 3; i++) {
                float topY = paddingTop + i * squareHeight;
                //float centerY = mPaddingTop + i * mSquareHeight + (mSquareHeight / 2);
@@ -750,6 +770,7 @@ public class DragLock extends View implements LockPattern {
                    drawCircle(canvas, (int) leftX, (int) topY, drawLookup[i][j]);
                }
            }        
        }

        // draw the arrows associated with the path (unless the user is in progress, and
        // we are in stealth mode)
@@ -828,8 +849,14 @@ public class DragLock extends View implements LockPattern {
            innerCircle = mBitmapBtnTouched;
        } else if (mState == State.Incorrect) {
            // the pattern is wrong
            if (mShowErrorPath) {
                outerCircle = mBitmapCircleRed;
                innerCircle = mBitmapBtnDefault;
            }
            else {
                outerCircle = mBitmapCircleDefault;
                innerCircle = mBitmapBtnDefault;
            }
        } else if (mState == State.Correct ||
                mState == State.Replay) {
            // the pattern is correct
@@ -858,7 +885,7 @@ public class DragLock extends View implements LockPattern {
        return new SavedState(superState,
                LockPatternUtils.patternToString(mPattern),
                mState.ordinal(),
                mInputEnabled, mInStealthMode, mTactileFeedbackEnabled);
                mInputEnabled, mInStealthMode, mTactileFeedbackEnabled, mVisibleDots, mShowErrorPath);
    }

    @Override
@@ -872,6 +899,8 @@ public class DragLock extends View implements LockPattern {
        mInputEnabled = ss.isInputEnabled();
        mInStealthMode = ss.isInStealthMode();
        mTactileFeedbackEnabled = ss.isTactileFeedbackEnabled();
        mVisibleDots = ss.isVisibleDots();
        mShowErrorPath = ss.isShowErrorPath();
    }

    /**
@@ -884,18 +913,22 @@ public class DragLock extends View implements LockPattern {
        private final boolean mInputEnabled;
        private final boolean mInStealthMode;
        private final boolean mTactileFeedbackEnabled;
        private final boolean mVisibleDots;
        private final boolean mShowErrorPath;

        /**
         * Constructor called from {@link LockPatternView#onSaveInstanceState()}
         */
        private SavedState(Parcelable superState, String serializedPattern, int displayMode,
                boolean inputEnabled, boolean inStealthMode, boolean tactileFeedbackEnabled) {
                boolean inputEnabled, boolean inStealthMode, boolean tactileFeedbackEnabled, boolean visibleDots, boolean showErrorPath) {
            super(superState);
            mSerializedPattern = serializedPattern;
            mState = displayMode;
            mInputEnabled = inputEnabled;
            mInStealthMode = inStealthMode;
            mTactileFeedbackEnabled = tactileFeedbackEnabled;
            mVisibleDots = visibleDots;
            mShowErrorPath = showErrorPath;
        }

        /**
@@ -908,6 +941,8 @@ public class DragLock extends View implements LockPattern {
            mInputEnabled = (Boolean) in.readValue(null);
            mInStealthMode = (Boolean) in.readValue(null);
            mTactileFeedbackEnabled = (Boolean) in.readValue(null);
            mVisibleDots = (Boolean) in.readValue(null);
            mShowErrorPath = (Boolean) in.readValue(null);
        }

        public String getSerializedPattern() {
@@ -930,6 +965,14 @@ public class DragLock extends View implements LockPattern {
            return mTactileFeedbackEnabled;
        }
        
        public boolean isVisibleDots() {
            return mVisibleDots;
        }
        
        public boolean isShowErrorPath() {
            return mShowErrorPath;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            super.writeToParcel(dest, flags);
@@ -938,6 +981,8 @@ public class DragLock extends View implements LockPattern {
            dest.writeValue(mInputEnabled);
            dest.writeValue(mInStealthMode);
            dest.writeValue(mTactileFeedbackEnabled);
            dest.writeValue(mVisibleDots);
            dest.writeValue(mShowErrorPath);
        }

        public static final Parcelable.Creator<SavedState> CREATOR =
+5 −1
Original line number Diff line number Diff line
@@ -84,6 +84,10 @@ public interface LockPattern {
    public void setTactileFeedbackEnabled(boolean tactileFeedbackEnabled);
    public boolean isInStealthMode();
    public void setInStealthMode(boolean inStealthMode);
    public void setVisibleDots(boolean visibleDots);
    public boolean isVisibleDots();
    public void setShowErrorPath(boolean showErrorPath);
    public boolean isShowErrorPath();    
    public void setEventListener(EventListener eventListener);
    public void setPattern(State state, List<Cell> pattern);
    public void setState(State state);
+3 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.view.Gravity;

public class LockPatternFactory {
    public static LockPattern inject(FrameLayout container) {
@@ -36,7 +37,8 @@ public class LockPatternFactory {
            pattern.getView(),
            new FrameLayout.LayoutParams(
                LayoutParams.FILL_PARENT,
                LayoutParams.FILL_PARENT));
                LayoutParams.FILL_PARENT,
                Gravity.CENTER));

        return pattern;
    }
+59 −0
Original line number Diff line number Diff line
@@ -80,6 +80,11 @@ public class LockPatternUtils {
    private final static String PATTERN_EVER_CHOSEN = "lockscreen.patterneverchosen";
    private final static String PIN_BASED_LOCKING_ENABLED = "lockscreen.pinbased";
    private final static String PIN_CHECK_TIMEOUT = "lockscreen.pinchecktimeout";
    private final static String LOCK_DOTS_VISIBLE = "lockscreen.dotsvisible";
    private final static String LOCK_SHOW_ERROR_PATH = "lockscreen.showerrorpath";
    private final static String LOCK_SHOW_CUSTOM_MSG = "lockscreen.showcustommsg";
    private final static String LOCK_CUSTOM_MSG = "lockscreen.custommsg";
    private final static String LOCK_SHOW_SLIDERS = "lockscreen.showsliders";

    private static final int PIN_CHECK_TIMEOUT_MIN = 500;
    private static final int PIN_CHECK_TIMEOUT_DEFAULT = 1500;
@@ -291,6 +296,46 @@ public class LockPatternUtils {
        return getBoolean(PIN_BASED_LOCKING_ENABLED);
    }
    
    public void setVisibleDotsEnabled(boolean enabled) {
        setBoolean(LOCK_DOTS_VISIBLE, enabled);        
    }
    
    public boolean isVisibleDotsEnabled() {
        return getBoolean(LOCK_DOTS_VISIBLE);
    }
    
    public void setShowErrorPath(boolean enabled) {
        setBoolean(LOCK_SHOW_ERROR_PATH, enabled);        
    }
    
    public boolean isShowErrorPath() {
        return getBoolean(LOCK_SHOW_ERROR_PATH);
    }
    
    public void setShowCustomMsg(boolean enabled) {
        setBoolean(LOCK_SHOW_CUSTOM_MSG, enabled);
    }
    
    public boolean isShowCustomMsg() {
        return getBoolean(LOCK_SHOW_CUSTOM_MSG);
    }
    
    public void setCustomMsg(String msg) {
        setString(LOCK_CUSTOM_MSG, msg);
    }
    
    public String getCustomMsg() {
        return getString(LOCK_CUSTOM_MSG);
    }
    
    public void setShowSliders(boolean enabled) {
        setBoolean(LOCK_SHOW_SLIDERS, enabled);
    }
    
    public boolean isShowSliders() {
        return getBoolean(LOCK_SHOW_SLIDERS);
    }

    /**
     * Set whether tactile feedback for the pattern is enabled.
     */
@@ -403,4 +448,18 @@ public class LockPatternUtils {
    private void setInt(String systemSettingKey, int value) {
        android.provider.Settings.System.putInt(mContentResolver, systemSettingKey, value);
    }    
    
    private String getString(String systemSettingKey) {
        String s = android.provider.Settings.System.getString(mContentResolver, systemSettingKey);
        
        if (s == null)
            return "";
        return s;
    }
    
    private void setString(String systemSettingKey, String value) {
        android.provider.Settings.System.putString(mContentResolver, systemSettingKey, value);
    }
    
    
}
+47 −9
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ public class PinLock extends View implements LockPattern {
    private Vibrator mVibe;
    private long[] mVibePattern;
    private boolean mTactileFeedbackEnabled = true;
    private boolean mVisibleDots = true;
    private boolean mShowErrorPath = true;

    private float mSquareWidth;
    private float mSquareHeight;
@@ -133,6 +135,22 @@ public class PinLock extends View implements LockPattern {
        mInStealthMode = inStealthMode;
    }
    
    public void setVisibleDots(boolean visibleDots) {
        mVisibleDots = visibleDots;
    }
    
    public boolean isVisibleDots() {
        return mVisibleDots;
    }
    
    public void setShowErrorPath(boolean showErrorPath) {
        mShowErrorPath = showErrorPath;
    }
    
    public boolean isShowErrorPath() {
        return mShowErrorPath;
    }

    /**
     * Set the call back for pattern detection.
     * @param onPatternListener The call back.
@@ -511,6 +529,7 @@ public class PinLock extends View implements LockPattern {
        final int paddingTop = this.getPaddingTop();
        final int paddingLeft = this.getPaddingLeft();

        if (mVisibleDots || (mState == LockPattern.State.Incorrect && mShowErrorPath)) {
            for (int i = 0; i < 3; i++) {
                float topY = paddingTop + i * squareHeight;
    
@@ -520,6 +539,7 @@ public class PinLock extends View implements LockPattern {
                }
            }
        }
    }

    /**
     * @param canvas
@@ -549,7 +569,7 @@ public class PinLock extends View implements LockPattern {
            }
        }
        else {
            if (mState == LockPattern.State.Incorrect) {
            if (mState == LockPattern.State.Incorrect && mShowErrorPath) {
                outerCircle = mBitmapCircleRed;
                innerCircle = mBitmapBtnTouched;
            }
@@ -581,7 +601,7 @@ public class PinLock extends View implements LockPattern {
        return new SavedState(superState,
                LockPatternUtils.patternToString(mPattern),
                mState.ordinal(),
                mInputEnabled, mInStealthMode, mTactileFeedbackEnabled);
                mInputEnabled, mInStealthMode, mTactileFeedbackEnabled, mVisibleDots, mShowErrorPath);
    }

    protected void onRestoreInstanceState(Parcelable state) {
@@ -594,6 +614,8 @@ public class PinLock extends View implements LockPattern {
        mInputEnabled = ss.isInputEnabled();
        mInStealthMode = ss.isInStealthMode();
        mTactileFeedbackEnabled = ss.isTactileFeedbackEnabled();
        mVisibleDots = ss.isVisibleDots();
        mShowErrorPath = ss.isShowErrorPath();
    }

    /**
@@ -606,18 +628,22 @@ public class PinLock extends View implements LockPattern {
        private final boolean mInputEnabled;
        private final boolean mInStealthMode;
        private final boolean mTactileFeedbackEnabled;
        private final boolean mVisibleDots;
        private final boolean mShowErrorPath;

        /**
         * Constructor called from {@link LockPatternView#onSaveInstanceState()}
         */
        private SavedState(Parcelable superState, String serializedPattern, int displayMode,
                boolean inputEnabled, boolean inStealthMode, boolean tactileFeedbackEnabled) {
                boolean inputEnabled, boolean inStealthMode, boolean tactileFeedbackEnabled, boolean visibleDots, boolean showErrorPath) {
            super(superState);
            mSerializedPattern = serializedPattern;
            mDisplayMode = displayMode;
            mInputEnabled = inputEnabled;
            mInStealthMode = inStealthMode;
            mTactileFeedbackEnabled = tactileFeedbackEnabled;
            mVisibleDots = visibleDots;
            mShowErrorPath = showErrorPath;
        }

        /**
@@ -630,6 +656,8 @@ public class PinLock extends View implements LockPattern {
            mInputEnabled = (Boolean) in.readValue(null);
            mInStealthMode = (Boolean) in.readValue(null);
            mTactileFeedbackEnabled = (Boolean) in.readValue(null);
            mVisibleDots = (Boolean) in.readValue(null);
            mShowErrorPath = (Boolean) in.readValue(null);
        }

        public String getSerializedPattern() {
@@ -652,6 +680,14 @@ public class PinLock extends View implements LockPattern {
            return mTactileFeedbackEnabled;
        }
        
        public boolean isVisibleDots() {
            return mVisibleDots;
        }
        
        public boolean isShowErrorPath() {
            return mShowErrorPath;
        }        

        public void writeToParcel(Parcel dest, int flags) {
            super.writeToParcel(dest, flags);
            dest.writeString(mSerializedPattern);
@@ -659,6 +695,8 @@ public class PinLock extends View implements LockPattern {
            dest.writeValue(mInputEnabled);
            dest.writeValue(mInStealthMode);
            dest.writeValue(mTactileFeedbackEnabled);
            dest.writeValue(mVisibleDots);
            dest.writeValue(mShowErrorPath);
        }

        public static final Parcelable.Creator<SavedState> CREATOR =
Loading