13bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang/* 23bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * Copyright (C) 2011 The Android Open Source Project 33bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * 43bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * Licensed under the Apache License, Version 2.0 (the "License"); 53bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * you may not use this file except in compliance with the License. 63bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * You may obtain a copy of the License at 73bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * 83bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * http://www.apache.org/licenses/LICENSE-2.0 93bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * 103bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * Unless required by applicable law or agreed to in writing, software 113bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * distributed under the License is distributed on an "AS IS" BASIS, 123bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * See the License for the specific language governing permissions and 143bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang * limitations under the License. 153bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang */ 163bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 173bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Changpackage com.android.gallery3d.app; 183bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 193bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Changimport android.os.Bundle; 202abaaf7caa9a83ba1ea759868aabde7f21387184John Reckimport android.view.Menu; 212abaaf7caa9a83ba1ea759868aabde7f21387184John Reckimport android.view.MenuInflater; 222abaaf7caa9a83ba1ea759868aabde7f21387184John Reckimport android.view.MenuItem; 233bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Changimport android.view.View; 243bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Changimport android.view.View.OnClickListener; 252abaaf7caa9a83ba1ea759868aabde7f21387184John Reckimport android.view.Window; 263bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 272b3ee0ea07246b859a5b75d8a6102a7cce7ec838Owen Linimport com.android.gallery3d.R; 282b3ee0ea07246b859a5b75d8a6102a7cce7ec838Owen Linimport com.android.gallery3d.ui.GLRootView; 292b3ee0ea07246b859a5b75d8a6102a7cce7ec838Owen Lin 303bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Changpublic class PickerActivity extends AbstractGalleryActivity 313bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang implements OnClickListener { 323bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 333bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang public static final String KEY_ALBUM_PATH = "album-path"; 343bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 353bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang @Override 363bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang public void onCreate(Bundle savedInstanceState) { 373bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang super.onCreate(savedInstanceState); 383bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 393bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // We show the picker in two ways. One smaller screen we use a full 403bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // screen window with an action bar. On larger screen we use a dialog. 413bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang boolean isDialog = getResources().getBoolean(R.bool.picker_is_dialog); 423bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 433bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang if (!isDialog) { 443bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang requestWindowFeature(Window.FEATURE_ACTION_BAR); 453bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 463bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 473bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 483bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang setContentView(R.layout.dialog_picker); 493bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 503bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang if (isDialog) { 513bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // In dialog mode, we don't have the action bar to show the 523bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // "cancel" action, so we show an additional "cancel" button. 533bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang View view = findViewById(R.id.cancel); 543bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang view.setOnClickListener(this); 553bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang view.setVisibility(View.VISIBLE); 563bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 573bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // We need this, otherwise the view will be dimmed because it 583bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang // is "behind" the dialog. 593bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang ((GLRootView) findViewById(R.id.gl_root_view)).setZOrderOnTop(true); 603bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 613bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 623bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 633bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang @Override 643bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang public boolean onCreateOptionsMenu(Menu menu) { 652abaaf7caa9a83ba1ea759868aabde7f21387184John Reck MenuInflater inflater = getMenuInflater(); 663bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang inflater.inflate(R.menu.pickup, menu); 673bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang return true; 683bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 693bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 703bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang @Override 713bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang public boolean onOptionsItemSelected(MenuItem item) { 723bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang if (item.getItemId() == R.id.action_cancel) { 733bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang finish(); 743bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang return true; 753bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 76655f63f04638dfe31045eab1b6b4c39cc2db10dbRay Chen return super.onOptionsItemSelected(item); 773bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 783bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang 793bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang @Override 803bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang public void onClick(View v) { 813bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang if (v.getId() == R.id.cancel) finish(); 823bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang } 833bbf133d949d2b51cce8db22dc0a2be64920c76cChih-Chung Chang} 84