Back to project page Battery-Indicator.
The source code is released under:
GNU General Public License
If you think the Android project Battery-Indicator listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* Modified from original source which was: * Copyright (C) 2010 Daniel Nilsson * Licensed under the Apache License, Version 2.0 * At http://github.com/attenzione/android-ColorPickerPreference //from w w w . ja v a 2 s . c o m This file, or at least the changes from the original are Copyright (c) 2013 Darshan-Josiah Barber This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ package com.darshancomputing.BatteryIndicatorPro; import android.app.Dialog; import android.content.Context; import android.graphics.PixelFormat; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; public class ColorPickerDialog extends Dialog implements ColorPickerView.OnColorChangedListener, View.OnClickListener { private ColorPickerView mColorPicker; private ColorPickerPanelView mOldColor; private ColorPickerPanelView mNewColor; private OnColorChangedListener mListener; public interface OnColorChangedListener { public void onColorChanged(int color); } public ColorPickerDialog(Context context, int initialColor) { super(context); init(initialColor); } private void init(int color) { getWindow().setFormat(PixelFormat.RGBA_8888); // To fight color banding. setUp(color); } private void setUp(int color) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.dialog_color_picker, null); setContentView(layout); setTitle(R.string.dialog_color_picker); mColorPicker = (ColorPickerView) layout.findViewById(R.id.color_picker_view); mOldColor = (ColorPickerPanelView) layout.findViewById(R.id.old_color_panel); mNewColor = (ColorPickerPanelView) layout.findViewById(R.id.new_color_panel); ((LinearLayout) mOldColor.getParent()).setPadding(Math.round(mColorPicker.getDrawingOffset()), 0, Math.round(mColorPicker.getDrawingOffset()), 0); mOldColor.setOnClickListener(this); mNewColor.setOnClickListener(this); mColorPicker.setOnColorChangedListener(this); mOldColor.setColor(color); mColorPicker.setColor(color, true); } @Override public void onColorChanged(int color) { mNewColor.setColor(color); } public void setOnColorChangedListener(OnColorChangedListener listener){ mListener = listener; } public int getColor() { return mColorPicker.getColor(); } @Override public void onClick(View v) { if (v.getId() == R.id.new_color_panel) { if (mListener != null) { mListener.onColorChanged(mNewColor.getColor()); } } dismiss(); } @Override public Bundle onSaveInstanceState() { Bundle state = super.onSaveInstanceState(); state.putInt("old_color", mOldColor.getColor()); state.putInt("new_color", mNewColor.getColor()); return state; } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mOldColor.setColor(savedInstanceState.getInt("old_color")); mColorPicker.setColor(savedInstanceState.getInt("new_color"), true); } }