196fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert/* 296fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project 396fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * 496fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 596fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * you may not use this file except in compliance with the License. 696fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * You may obtain a copy of the License at 796fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * 896fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 996fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * 1096fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 1196fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 1296fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1396fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * See the License for the specific language governing permissions and 1496fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * limitations under the License. 1596fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert */ 1692180225a3c86c5f9cba04e2a6a7564fc1adeb94Mathew Inwoodpackage com.android.quicksearchbox.preferences; 1796fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 1896fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringertimport android.content.Context; 1996fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringertimport android.preference.DialogPreference; 2096fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringertimport android.util.AttributeSet; 2196fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 2296fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert/** 2396fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert * Dialog preference that allows registering a listener for the result. 2496fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert */ 2596fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringertpublic class OkCancelPreference extends DialogPreference { 2696fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 2796fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert private Listener mListener; 2896fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 2996fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert public OkCancelPreference(Context context, AttributeSet attrs) { 3096fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert super(context, attrs); 3196fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert } 3296fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 3396fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert @Override 3496fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert protected void onDialogClosed(boolean positiveResult) { 3596fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert super.onDialogClosed(positiveResult); 3696fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 3796fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert if (mListener != null) { 3896fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert mListener.onDialogClosed(positiveResult); 3996fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert } 4096fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert } 4196fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 4296fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert public void setListener(Listener listener) { 4396fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert mListener = listener; 4496fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert } 4596fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 4696fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert public interface Listener { 4796fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert void onDialogClosed(boolean okClicked); 4896fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert } 4996fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert 5096fec862c3d494aebcb4e1d93589a241385a2ba7Bjorn Bringert} 51