• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2008 Esmertec AG.
3  * Copyright (C) 2008 The Android Open Source Project
4  *
5  * 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
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * 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  */
17 
18 package com.android.mms.model;
19 
20 import java.util.ArrayList;
21 
22 public class Model {
23     protected ArrayList<IModelChangedObserver> mModelChangedObservers =
24             new ArrayList<IModelChangedObserver>();
25 
registerModelChangedObserver(IModelChangedObserver observer)26     public void registerModelChangedObserver(IModelChangedObserver observer) {
27         if (!mModelChangedObservers.contains(observer)) {
28             mModelChangedObservers.add(observer);
29             registerModelChangedObserverInDescendants(observer);
30         }
31     }
32 
unregisterModelChangedObserver(IModelChangedObserver observer)33     public void unregisterModelChangedObserver(IModelChangedObserver observer) {
34         mModelChangedObservers.remove(observer);
35         unregisterModelChangedObserverInDescendants(observer);
36     }
37 
unregisterAllModelChangedObservers()38     public void unregisterAllModelChangedObservers() {
39         unregisterAllModelChangedObserversInDescendants();
40         mModelChangedObservers.clear();
41     }
42 
notifyModelChanged(boolean dataChanged)43     protected void notifyModelChanged(boolean dataChanged) {
44         for (IModelChangedObserver observer : mModelChangedObservers) {
45             observer.onModelChanged(this, dataChanged);
46         }
47     }
48 
registerModelChangedObserverInDescendants( IModelChangedObserver observer)49     protected void registerModelChangedObserverInDescendants(
50             IModelChangedObserver observer) {
51         // Dummy method.
52     }
53 
unregisterModelChangedObserverInDescendants( IModelChangedObserver observer)54     protected void unregisterModelChangedObserverInDescendants(
55             IModelChangedObserver observer) {
56         // Dummy method.
57     }
58 
unregisterAllModelChangedObserversInDescendants()59     protected void unregisterAllModelChangedObserversInDescendants() {
60         // Dummy method.
61     }
62 }
63