14afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung/* 24afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * Copyright (C) 2013 The Android Open Source Project 34afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * 44afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * Licensed under the Apache License, Version 2.0 (the "License"); 54afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * you may not use this file except in compliance with the License. 64afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * You may obtain a copy of the License at 74afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * 84afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * http://www.apache.org/licenses/LICENSE-2.0 94afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * 104afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * Unless required by applicable law or agreed to in writing, software 114afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * distributed under the License is distributed on an "AS IS" BASIS, 124afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * See the License for the specific language governing permissions and 144afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * limitations under the License. 154afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung */ 164afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 174afba187f8990ae2b3afaf8fcdb6039f231f4914James Kungpackage com.android.calendar.event; 184afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 198de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kungimport android.app.Dialog; 204afba187f8990ae2b3afaf8fcdb6039f231f4914James Kungimport android.content.DialogInterface; 214afba187f8990ae2b3afaf8fcdb6039f231f4914James Kungimport android.os.Bundle; 224afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 234afba187f8990ae2b3afaf8fcdb6039f231f4914James Kungimport com.android.calendar.R; 24a8b8c0d17adf3e8f9b34a5da89592aa7069c0bddJames Kungimport com.android.colorpicker.ColorPickerDialog; 254afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 264afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung/** 274afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung * A dialog which displays event colors, with an additional button for the calendar color. 284afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung */ 294afba187f8990ae2b3afaf8fcdb6039f231f4914James Kungpublic class EventColorPickerDialog extends ColorPickerDialog { 304afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 314afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung private static final int NUM_COLUMNS = 4; 328de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung private static final String KEY_CALENDAR_COLOR = "calendar_color"; 334afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 344afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung private int mCalendarColor; 354afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 364afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung public EventColorPickerDialog() { 374afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung // Empty constructor required for dialog fragment. 384afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 394afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 408de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung public static EventColorPickerDialog newInstance(int[] colors, int selectedColor, 418de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung int calendarColor, boolean isTablet) { 428de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung EventColorPickerDialog ret = new EventColorPickerDialog(); 438de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung ret.initialize(R.string.event_color_picker_dialog_title, colors, selectedColor, NUM_COLUMNS, 444afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung isTablet ? SIZE_LARGE : SIZE_SMALL); 458de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung ret.setCalendarColor(calendarColor); 468de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung return ret; 478de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung } 488de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung 498de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung @Override 508de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung public void onCreate(Bundle savedInstanceState) { 518de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung super.onCreate(savedInstanceState); 528de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung if (savedInstanceState != null) { 538de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung mCalendarColor = savedInstanceState.getInt(KEY_CALENDAR_COLOR); 548de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung } 558de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung } 568de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung 578de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung @Override 588de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung public void onSaveInstanceState(Bundle outState) { 598de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung super.onSaveInstanceState(outState); 608de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung outState.putInt(KEY_CALENDAR_COLOR, mCalendarColor); 614afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 624afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 634afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung public void setCalendarColor(int color) { 644afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung mCalendarColor = color; 654afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 664afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 674afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung @Override 688de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung public Dialog onCreateDialog(Bundle savedInstanceState) { 698de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung Dialog dialog = super.onCreateDialog(savedInstanceState); 704afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung mAlertDialog.setButton(DialogInterface.BUTTON_NEUTRAL, 718de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung getActivity().getString(R.string.event_color_set_to_default), 724afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung new DialogInterface.OnClickListener() { 734afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung 744afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung @Override 754afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung public void onClick(DialogInterface dialog, int which) { 76318227abcb8fa14731907aefff6d65fa33dee6c6James Kung onColorSelected(mCalendarColor); 774afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 784afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 794afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung ); 808de796dfd3a1dad6cb386077e785d09fc02bec7bJames Kung return dialog; 814afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung } 824afba187f8990ae2b3afaf8fcdb6039f231f4914James Kung} 83