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