126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang/* 226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * Copyright (C) 2014 The Android Open Source Project 326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * 426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * Licensed under the Apache License, Version 2.0 (the "License"); 526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * you may not use this file except in compliance with the License. 626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * You may obtain a copy of the License at 726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * 826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * http://www.apache.org/licenses/LICENSE-2.0 926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * 1026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * Unless required by applicable law or agreed to in writing, software 1126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * distributed under the License is distributed on an "AS IS" BASIS, 1226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * See the License for the specific language governing permissions and 1426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang * limitations under the License. 1526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang */ 1626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 1726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangpackage com.android.deskclock; 1826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 1926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.app.Activity; 2026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.app.Dialog; 2126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.app.DialogFragment; 2226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.app.TimePickerDialog; 2326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.app.TimePickerDialog.OnTimeSetListener; 2426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.os.Bundle; 2526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport android.text.format.DateFormat; 2626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 2726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport com.android.deskclock.provider.Alarm; 2826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 2926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangimport java.util.Calendar; 3026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 3126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhangpublic class TimePickerFragment extends DialogFragment { 3226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 3326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang private Alarm mAlarm; 3426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang private OnTimeSetListener mListener; 3526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 3626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang @Override 3726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang public Dialog onCreateDialog(Bundle savedInstanceState) { 3826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang final int hour, minute; 3926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang if (mAlarm == null) { 4026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang final Calendar c = Calendar.getInstance(); 4126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang hour = c.get(Calendar.HOUR_OF_DAY); 4226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang minute = c.get(Calendar.MINUTE); 4326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } else { 4426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang hour = mAlarm.hour; 4526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang minute = mAlarm.minutes; 4626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 4726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 4826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang return new TimePickerDialog(getActivity(), R.style.TimePickerTheme, mListener, hour, minute, 4926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang DateFormat.is24HourFormat(getActivity())); 5026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 5126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 5226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang @Override 5326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang public void onAttach(Activity activity) { 5426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang super.onAttach(activity); 5526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang if (getTargetFragment() instanceof OnTimeSetListener) { 5626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang setOnTimeSetListener((OnTimeSetListener) getTargetFragment()); 5726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 5826f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 5926f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 6026f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang public void setOnTimeSetListener(OnTimeSetListener listener) { 6126f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang mListener = listener; 6226f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 6326f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang 6426f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang public void setAlarm(Alarm alarm) { 6526f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang mAlarm = alarm; 6626f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang } 6726f1eef7a9696e35f894bec90594d26d6a1d6b0frachelzhang} 68