blob: 5912883d0440b9e0a8fad9eeb99ebb3ee39eb094 [file] [log] [blame]
Vikram Aggarwal4f9a4c52012-01-11 15:04:55 -08001/*******************************************************************************
2 * Copyright (C) 2012 Google Inc.
3 * Licensed to The Android Open Source Project.
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -08004 *
Vikram Aggarwal4f9a4c52012-01-11 15:04:55 -08005 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -08008 *
Vikram Aggarwal4f9a4c52012-01-11 15:04:55 -08009 * http://www.apache.org/licenses/LICENSE-2.0
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080010 *
Vikram Aggarwal4f9a4c52012-01-11 15:04:55 -080011 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080017
Vikram Aggarwal1ddcf0f2012-01-13 11:45:02 -080018package com.android.mail.ui;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080019
Andy Huang30e2c242012-01-06 18:14:30 -080020import com.android.mail.ConversationListContext;
Andy Huang30e2c242012-01-06 18:14:30 -080021import com.android.mail.R;
Mindy Pereira28d5f722012-02-15 12:32:40 -080022import com.android.mail.providers.Account;
Vikram Aggarwal1ddcf0f2012-01-13 11:45:02 -080023import com.android.mail.ui.MailActionBar.Callback;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080024
25import android.app.ActionBar;
26import android.app.Activity;
27import android.content.Context;
28import android.os.Bundle;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080029import android.view.LayoutInflater;
30import android.view.Menu;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080031import android.view.View;
32import android.widget.Toast;
33
34/**
35 * A dummy activity to make an actionbar and a few buttons to test some of the interactions.
36 * This is pure UI, there is no functionality here.
37 */
38public class ActionbarActivity extends Activity
39 implements View.OnCreateContextMenuListener,RestrictedActivity, Callback {
40 private MailActionBar mActionBar;
41 private Context mContext;
Mindy Pereiraf5acda42012-02-15 20:13:59 -080042 private int mActionBarMode;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080043 private ViewMode mViewMode;
44
45 /**
46 *
47 */
48 public ActionbarActivity() {
49 super();
Mindy Pereiraf5acda42012-02-15 20:13:59 -080050 mActionBarMode = ViewMode.UNKNOWN;
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080051 }
52
53 @Override
54 public boolean onPrepareOptionsMenu(Menu menu){
55 return mActionBar.prepareOptionsMenu(menu) || super.onPrepareOptionsMenu(menu);
56 }
57
58 @Override
59 public boolean onCreateOptionsMenu(Menu menu){
60 return mActionBar.createOptionsMenu(menu) || super.onCreateOptionsMenu(menu);
61 }
62
63 @Override
64 public void onCreate(Bundle savedInstanceState) {
65 super.onCreate(savedInstanceState);
66 ActionBar bar = this.getActionBar();
67 mContext = getApplicationContext();
68 mViewMode = new ViewMode(mContext);
Vikram Aggarwalfa131a22012-02-02 13:56:22 -080069 mViewMode.enterConversationListMode();
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080070
71 if (mActionBar == null){
72 mActionBar = (MailActionBar) LayoutInflater.from(mContext).inflate(
73 R.layout.actionbar_view, null);
74 }
75 mActionBar.initialize(this, this, mViewMode, bar);
76 setContentView(R.layout.actionbar_tests);
77 }
78
79 /**
80 * Change the action bar mode, and redraw the actionbar.
81 * @param mode
82 */
Mindy Pereiraf5acda42012-02-15 20:13:59 -080083 private void changeMode(int mode){
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -080084 mActionBar.setMode(mode);
85 // Tell the framework to redraw the Action Bar
86 invalidateOptionsMenu();
87 }
88
89 // Methods that will be called through the android:onclick attribute in layout XML.
90 public void testSetBackButton(View v){
91 mActionBar.setBackButton();
92 }
93
94 public void testRemoveBackButton(View v){
95 mActionBar.removeBackButton();
96 }
97
98 public void testSearchConversationMode(View v){
Mindy Pereiraf5acda42012-02-15 20:13:59 -080099 changeMode(ViewMode.SEARCH_RESULTS);
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800100 }
101
102 public void testNormalMode(View v){
Mindy Pereiraf5acda42012-02-15 20:13:59 -0800103 changeMode(ViewMode.UNKNOWN);
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800104 }
105
106 public void testSearchResultMode(View v){
Mindy Pereiraf5acda42012-02-15 20:13:59 -0800107 changeMode(ViewMode.SEARCH_RESULTS);
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800108 }
109
110 public void testLabelMode(View v){
Mindy Pereiraf5acda42012-02-15 20:13:59 -0800111 changeMode(ViewMode.FOLDER_LIST);
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800112 }
113
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800114 @Override
115 public void enterSearchMode() {
116 Toast.makeText(this, "Entering Search Mode", Toast.LENGTH_SHORT).show();
117 }
118
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800119 @Override
120 public void exitSearchMode() {
121 // TODO(viki): Auto-generated method stub
122 }
123
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800124 @Override
125 public void reloadSearch(String string) {
126 // TODO(viki): Auto-generated method stub
127 }
128
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800129 @Override
Mindy Pereira28d5f722012-02-15 12:32:40 -0800130 public boolean navigateToAccount(Account account) {
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800131 // TODO(viki): Auto-generated method stub
132 return false;
133 }
134
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800135 @Override
Vikram Aggarwal1ddcf0f2012-01-13 11:45:02 -0800136 public void navigateToFolder(String folderCanonicalName) {
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800137 // TODO(viki): Auto-generated method stub
138 }
139
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800140 @Override
Vikram Aggarwal1ddcf0f2012-01-13 11:45:02 -0800141 public void showFolderList() {
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800142 // TODO(viki): Auto-generated method stub
143 }
144
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800145 @Override
146 public String getCurrentAccount() {
147 // TODO(viki): Auto-generated method stub
148 return null;
149 }
150
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800151 @Override
152 public ConversationListContext getCurrentListContext() {
153 // TODO(viki): Auto-generated method stub
154 return null;
155 }
156
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800157 @Override
158 public void startActionBarStatusCursorLoader(String account) {
159 // TODO(viki): Auto-generated method stub
160 }
161
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800162 @Override
163 public void stopActionBarStatusCursorLoader(String account) {
164 // TODO(viki): Auto-generated method stub
165 }
Vikram Aggarwalcd8bf0a2012-02-14 13:13:18 -0800166
167 @Override
168 public Context getActivityContext() {
169 return this;
170 }
Vikram Aggarwal5e5ac742011-12-19 08:14:16 -0800171}