1c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert/* 28caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert * Copyright (C) 2010 The Android Open Source Project 3c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * 4c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 5c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * you may not use this file except in compliance with the License. 6c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * You may obtain a copy of the License at 7c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * 8c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 9c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * 10c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 11c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 12c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * See the License for the specific language governing permissions and 14c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert * limitations under the License. 15c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert */ 16c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 17c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringertpackage com.android.quicksearchbox; 18c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 19c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringertimport android.app.Activity; 20c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringertimport android.os.Bundle; 218caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringertimport android.view.View; 22c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringertimport android.view.Window; 238caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringertimport android.widget.FrameLayout; 24c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringertimport android.widget.TextView; 25c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 26c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert/** 278caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert * Activity that looks like a dialog window. 28c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert */ 298caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringertpublic abstract class DialogActivity extends Activity { 30c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 31c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert protected TextView mTitleView; 328caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert protected FrameLayout mContentFrame; 33c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 34c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert @Override 35c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert protected void onCreate(Bundle savedInstanceState) { 36c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert super.onCreate(savedInstanceState); 37c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert getWindow().requestFeature(Window.FEATURE_NO_TITLE); 388caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert setContentView(R.layout.dialog_activity); 39c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert mTitleView = (TextView) findViewById(R.id.alertTitle); 408caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert mContentFrame = (FrameLayout) findViewById(R.id.content); 41c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert } 42c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 43c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert public void setHeading(int titleRes) { 44c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert mTitleView.setText(titleRes); 45c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert } 46c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 47c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert public void setHeading(CharSequence title) { 48c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert mTitleView.setText(title); 49c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert } 50c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 518caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert public void setDialogContent(int layoutRes) { 528caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert mContentFrame.removeAllViews(); 538caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert getLayoutInflater().inflate(layoutRes, mContentFrame); 54c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert } 55c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert 568caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert public void setDialogContent(View content) { 578caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert mContentFrame.removeAllViews(); 588caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert mContentFrame.addView(content); 59c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert } 608caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert 618caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert public View getDialogContent() { 628caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert if (mContentFrame.getChildCount() > 0) { 638caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert return mContentFrame.getChildAt(0); 648caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert } else { 658caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert return null; 668caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert } 678caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert } 688caa8428f1ade850e83977c33497dfa0f90406ebBjorn Bringert 69c5a3ecb62318a6be1d1a626a36b52829e989f740Bjorn Bringert} 70