• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2013 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.incallui;
18 
19 /**
20  * Base class for Presenters.
21  */
22 public abstract class Presenter<U extends Ui> {
23 
24     private U mUi;
25 
26     /**
27      * Called after the UI view has been created.  That is when fragment.onViewCreated() is called.
28      *
29      * @param ui The Ui implementation that is now ready to be used.
30      */
onUiReady(U ui)31     public void onUiReady(U ui) {
32         mUi = ui;
33     }
34 
35     /**
36      * Called when the UI view is destroyed in Fragment.onDestroyView().
37      */
onUiDestroy(U ui)38     public final void onUiDestroy(U ui) {
39         onUiUnready(ui);
40         mUi = null;
41     }
42 
43     /**
44      * To be overriden by Presenter implementations.  Called when the fragment is being
45      * destroyed but before ui is set to null.
46      */
onUiUnready(U ui)47     public void onUiUnready(U ui) {
48     }
49 
getUi()50     public U getUi() {
51         return mUi;
52     }
53 }
54