MapChangeRegistry.java revision 2c86cdbaf189e2b1774af7f64a2974de9321673f
1293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount/*
25cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount * Copyright (C) 2015 The Android Open Source Project
3293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount *
4293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * Licensed under the Apache License, Version 2.0 (the "License");
5293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * you may not use this file except in compliance with the License.
6293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * You may obtain a copy of the License at
7293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount *
8293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount *      http://www.apache.org/licenses/LICENSE-2.0
9293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount *
10293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * Unless required by applicable law or agreed to in writing, software
11293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * distributed under the License is distributed on an "AS IS" BASIS,
12293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * See the License for the specific language governing permissions and
14293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount * limitations under the License.
15293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount */
16293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mountpackage com.android.databinding.library;
17293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount
182c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mountimport android.binding.CallbackRegistry;
192c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mountimport android.binding.ObservableMap;
202c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mountimport android.binding.OnMapChangedListener;
212c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mount
225cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mountpublic class MapChangeRegistry
235cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount        extends CallbackRegistry<OnMapChangedListener, ObservableMap, Object> {
24293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount
255cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount    private static NotifierCallback<OnMapChangedListener, ObservableMap, Object> NOTIFIER_CALLBACK =
265cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount            new NotifierCallback<OnMapChangedListener, ObservableMap, Object>() {
275cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount                @Override
285cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount                public void onNotifyCallback(OnMapChangedListener callback, ObservableMap sender,
295cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount                        int arg, Object arg2) {
305cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount                    callback.onMapChanged(sender, arg2);
315cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount                }
325cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount            };
33293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount
345cd681c345db8f606d7d5a8662e20e059f21a86cGeorge Mount    public MapChangeRegistry() {
35293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount        super(NOTIFIER_CALLBACK);
36293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount    }
372c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mount
382c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mount    public void notifyChange(ObservableMap sender, Object key) {
392c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mount        notifyCallbacks(sender, 0, key);
402c86cdbaf189e2b1774af7f64a2974de9321673fGeorge Mount    }
41293de28642305ce210e1d2a1cfe0abfa4f737d7aGeorge Mount}
42