Android Open Source - passwords State Transition Drawable






From Project

Back to project page passwords.

License

The source code is released under:

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUC...

If you think the Android project passwords listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

// Copyright 2014 Neil Wilkinson
////w ww .  jav a  2s  . c  om
// 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.
package com.measuredsoftware.passvault.drawable;

import android.graphics.drawable.TransitionDrawable;
import android.os.Handler;
import android.os.Message;

/**
 * Wraps a standard TransitionDrawable toggling around a state flag, so that the start/reverse is only called when needed.
 *
 * Start animations are delayed in order to allow the caller to cancel them (e.g. if they're in a scroll/listview).
 */
public class StateTransitionDrawable
{
    private final TransitionDrawable transitionDrawable;
    private final Handler pressedStateHandler;

    private boolean on;
    private boolean touchDown;

    public StateTransitionDrawable(final TransitionDrawable drawable, final int inTime)
    {
        this.transitionDrawable = drawable;

        pressedStateHandler = new Handler()
        {
            @Override
            public void handleMessage(final Message msg)
            {
                if (touchDown)
                {
                    on(inTime);
                }
            }
        };
    }

    public void setTouchDown(final boolean touchDown)
    {
        this.touchDown = touchDown;
        if (this.touchDown)
        {
            pressedStateHandler.sendEmptyMessageDelayed(0, 75);
        }
    }

    public void on(final int duration)
    {
        if (!on)
        {
            on = true;
            transitionDrawable.startTransition(duration);
        }
    }

    public void off(final int duration)
    {
        if (on)
        {
            on = false;
            transitionDrawable.reverseTransition(duration);
        }
    }
}




Java Source Code List

com.measuredsoftware.passvault.AbsPasswordActivity.java
com.measuredsoftware.passvault.EditPasswordActivity.java
com.measuredsoftware.passvault.MainActivity.java
com.measuredsoftware.passvault.NewPasswordActivity.java
com.measuredsoftware.passvault.PassVaultApplication.java
com.measuredsoftware.passvault.Typefaces.java
com.measuredsoftware.passvault.drawable.StateTransitionDrawable.java
com.measuredsoftware.passvault.listener.PasswordTextWatcher.java
com.measuredsoftware.passvault.model.PasswordGenerator.java
com.measuredsoftware.passvault.model.PasswordListAdapter.java
com.measuredsoftware.passvault.model.PasswordModel.java
com.measuredsoftware.passvault.model.RandomRandomizer.java
com.measuredsoftware.passvault.model.Randomizer.java
com.measuredsoftware.passvault.model.UserPreferences.java
com.measuredsoftware.passvault.tools.StringTools.java
com.measuredsoftware.passvault.view.AddArrow.java
com.measuredsoftware.passvault.view.AnimatedListView.java
com.measuredsoftware.passvault.view.BackgroundContainer.java
com.measuredsoftware.passvault.view.CondensedCheckedTextView.java
com.measuredsoftware.passvault.view.CondensedEditText.java
com.measuredsoftware.passvault.view.CondensedTextButton.java
com.measuredsoftware.passvault.view.CondensedTextView.java
com.measuredsoftware.passvault.view.FooterBar.java
com.measuredsoftware.passvault.view.GeneratorSection.java
com.measuredsoftware.passvault.view.MenuScreen.java
com.measuredsoftware.passvault.view.PasswordLengthSlider.java
com.measuredsoftware.passvault.view.PasswordListItem.java
com.measuredsoftware.passvault.view.PasswordList.java
com.measuredsoftware.passvault.view.PasswordPopup.java
com.measuredsoftware.passvault.view.PasswordRandomizerView.java
com.measuredsoftware.passvault.view.PressImageButton.java
com.measuredsoftware.passvault.view.TitleBar.java