Android Open Source - blink Device Summary






From Project

Back to project page blink.

License

The source code is released under:

Apache License

If you think the Android project blink 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

package com.nashlincoln.blink.widget;
/*from  w  w  w .j a  v a 2 s  . c o m*/
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Build;
import android.support.annotation.NonNull;
import android.util.AttributeSet;
import android.widget.TextView;

import com.nashlincoln.blink.R;

/**
 * Created by nash on 11/30/14.
 */
public class DeviceSummary extends TextView {
    private Paint mBackgroundPaint;
    private Paint mLevelPaint;
    private int mOnColor;
    private int mOffColor;
    private RectF mArcRect;
    private boolean isOn;
    private float level;

    public DeviceSummary(Context context) {
        super(context);
        init();
    }

    public DeviceSummary(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public DeviceSummary(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public DeviceSummary(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        init();
    }

    private void init() {
        int textColor = getResources().getColor(R.color.white);
        int levelColor = getResources().getColor(R.color.accent_light);
        float strokeWidth = getResources().getDimension(R.dimen.device_summary_stroke);

        mOnColor = getResources().getColor(R.color.primary);
        mOffColor = getResources().getColor(R.color.gray_400);
        mArcRect = new RectF(0, 0, 0, 0);
        mBackgroundPaint = new Paint();
        mBackgroundPaint.setAntiAlias(true);
        mBackgroundPaint.setStyle(Paint.Style.FILL);
        mLevelPaint = new Paint();
        mLevelPaint.setAntiAlias(true);
        mLevelPaint.setColor(levelColor);
//        mLevelPaint.setStrokeWidth(strokeWidth);
        mLevelPaint.setStyle(Paint.Style.FILL);
        setTextColor(textColor);
    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        float half = mLevelPaint.getStrokeWidth() / 2;
        mArcRect.top = half;
        mArcRect.left = half;
        mArcRect.bottom = getHeight() - half;
        mArcRect.right = getWidth() - half;
    }

    @Override
    protected void onDraw(@NonNull Canvas canvas) {
//        mBackgroundPaint.setColor(isOn ? mOnColor : mOffColor);
        mBackgroundPaint.setColor(mOffColor);
        canvas.drawOval(mArcRect, mBackgroundPaint);
        if (isOn) {
            canvas.drawArc(mArcRect, 270, -360 * level, true, mLevelPaint);
        }
        super.onDraw(canvas);
    }

    public void setOn(boolean isOn) {
        this.isOn = isOn;
        invalidate();
    }

    public void setLevel(float level) {
        this.level = level;
        invalidate();
    }
}




Java Source Code List

com.nashlincoln.blink.ApplicationTest.java
com.nashlincoln.blink.app.BlinkApp.java
com.nashlincoln.blink.app.FragmentPagerAdapter.java
com.nashlincoln.blink.app.NetworkReceiver.java
com.nashlincoln.blink.app.PreferenceUtils.java
com.nashlincoln.blink.content.Command.java
com.nashlincoln.blink.content.DeviceLoader.java
com.nashlincoln.blink.content.DeviceTypeLoader.java
com.nashlincoln.blink.content.GroupLoader.java
com.nashlincoln.blink.content.ModelLoader.java
com.nashlincoln.blink.content.SceneLoader.java
com.nashlincoln.blink.content.Syncro.java
com.nashlincoln.blink.event.Event.java
com.nashlincoln.blink.event.Status.java
com.nashlincoln.blink.event.Type.java
com.nashlincoln.blink.model.AttributeDao.java
com.nashlincoln.blink.model.AttributeTypeDao.java
com.nashlincoln.blink.model.AttributeType.java
com.nashlincoln.blink.model.Attribute.java
com.nashlincoln.blink.model.DaoMaster.java
com.nashlincoln.blink.model.DaoSession.java
com.nashlincoln.blink.model.DeviceDao.java
com.nashlincoln.blink.model.DeviceTypeDao.java
com.nashlincoln.blink.model.DeviceType.java
com.nashlincoln.blink.model.Device.java
com.nashlincoln.blink.model.GroupDao.java
com.nashlincoln.blink.model.GroupDeviceDao.java
com.nashlincoln.blink.model.GroupDevice.java
com.nashlincoln.blink.model.Group.java
com.nashlincoln.blink.model.SceneDao.java
com.nashlincoln.blink.model.SceneDeviceDao.java
com.nashlincoln.blink.model.SceneDevice.java
com.nashlincoln.blink.model.Scene.java
com.nashlincoln.blink.model.TimerDao.java
com.nashlincoln.blink.model.Timer.java
com.nashlincoln.blink.network.BlinkApiInterface.java
com.nashlincoln.blink.network.BlinkApi.java
com.nashlincoln.blink.nfc.NfcCommand.java
com.nashlincoln.blink.nfc.NfcUtils.java
com.nashlincoln.blink.ui.AddDeviceFragment.java
com.nashlincoln.blink.ui.BlinkActivity.java
com.nashlincoln.blink.ui.BlinkListFragment.java
com.nashlincoln.blink.ui.DeviceListFragment.java
com.nashlincoln.blink.ui.EditListActivity.java
com.nashlincoln.blink.ui.EditListFragment.java
com.nashlincoln.blink.ui.EditNameDialogFragment.java
com.nashlincoln.blink.ui.GroupListFragment.java
com.nashlincoln.blink.ui.SceneListFragment.java
com.nashlincoln.blink.ui.SettingsActivity.java
com.nashlincoln.blink.widget.DeviceSummary.java
com.nashlincoln.blink.widget.SlidingTabLayout.java
com.nashlincoln.blink.widget.SlidingTabStrip.java
com.nashlincoln.dao.Generator.java