AbstractMailActivity.java revision 87f5b7aa888b8fa42636a90346c1223dcc7bb023
15a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot/******************************************************************************* 25a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * Copyright (C) 2012 Google Inc. 35a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * Licensed to The Android Open Source Project. 45a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 55a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * Licensed under the Apache License, Version 2.0 (the "License"); 65a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * you may not use this file except in compliance with the License. 75a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * You may obtain a copy of the License at 85a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 95a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * http://www.apache.org/licenses/LICENSE-2.0 105a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 115a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * Unless required by applicable law or agreed to in writing, software 125a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * distributed under the License is distributed on an "AS IS" BASIS, 135a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * See the License for the specific language governing permissions and 155a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * limitations under the License. 165a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot *******************************************************************************/ 175a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 185a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotpackage com.android.mail.ui; 195a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 205a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotimport android.app.Activity; 215a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotimport android.content.Context; 225a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotimport android.os.Bundle; 235a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotimport android.os.StrictMode; 245a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 255a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot/** 265a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * <p> 275a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * A complete Mail activity instance. This is the toplevel class that creates the views and handles 285a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * the activity lifecycle.</p> 295a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 305a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * <p>This class is abstract to allow many other activities to be quickly created by subclassing 315a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * this activity and overriding a small subset of the life cycle methods: for example 325a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * ComposeActivity and CreateShortcutActivity.</p> 335a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 345a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * <p>In the Gmail codebase, this was called GmailBaseActivity</p> 355a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * 365a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot */ 375a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robotpublic abstract class AbstractMailActivity extends Activity 385a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot implements HelpCallback, RestrictedActivity { 395a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 405a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot private final UiHandler mUiHandler = new UiHandler(); 415a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 425a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot // STOPSHIP: ship with false 435a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot private static final boolean STRICT_MODE = true; 445a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 455a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 465a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot protected void onCreate(Bundle savedInstanceState) { 475a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot if (STRICT_MODE) { 485a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 495a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .detectDiskReads() 505a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .detectDiskWrites() 515a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .detectNetwork() // or .detectAll() for all detectable problems 525a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .penaltyLog() 535a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .build()); 545a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 555a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .detectLeakedSqlLiteObjects() 565a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .detectLeakedClosableObjects() 575a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .penaltyLog() 585a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot .build()); 595a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 605a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 615a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot super.onCreate(savedInstanceState); 625a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot mUiHandler.setEnabled(true); 635a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 645a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 655a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 665a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot protected void onStart() { 675a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot super.onStart(); 68ii�����z[(�N��k�g��/��s�ϰTn 695a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot mUiHandler.setEnabled(true); 705a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 715a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 725a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 73e�ʌ@W^F�;踀u��X �ZYE� protected void onSaveInstanceState(Bundle outState) { 745a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot super.onSaveInstanceState(outState); 755a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 765a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot mUiHandler.setEnabled(false); 775a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 785a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 795a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 805a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot protected void onResume() { 81OSS^LH�� super.onResume(); 825a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 835a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot mUiHandler.setEnabled(true); 845a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 855a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 865a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot /** 875a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * Get the contextual help parameter for this activity. This can be overridden 885a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * to allow the extending activities to return different help context strings. 895a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * The default implementation is to return "gm". 905a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot * @return The help context of this activity. 915a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot */ 925a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 935a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot public String getHelpContext() { 94ZKm�OB���=�MN{y*.�~�k�zr__�T���jm�p��� return "Mail"; 955a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot } 965a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot 975a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot @Override 985a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot public Context getActivityContext() { 995a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot return this; 100h�\���.�x�ξ��L%"��x } 101t;�I�a#eP��in�"�%���)��ܺL�w���Ş��R�})#��&UhhxQ`�+Y�]\"����p�} 1025a6e989368cab2b72ab8db50330d02e459b47d4android-build-team Robot