1612997fe2e41366573855f56898b27d4c8787244George Mount/*
2612997fe2e41366573855f56898b27d4c8787244George Mount * Copyright (C) 2015 The Android Open Source Project
3612997fe2e41366573855f56898b27d4c8787244George Mount *
4612997fe2e41366573855f56898b27d4c8787244George Mount * Licensed under the Apache License, Version 2.0 (the "License");
5612997fe2e41366573855f56898b27d4c8787244George Mount * you may not use this file except in compliance with the License.
6612997fe2e41366573855f56898b27d4c8787244George Mount * You may obtain a copy of the License at
7612997fe2e41366573855f56898b27d4c8787244George Mount *
8612997fe2e41366573855f56898b27d4c8787244George Mount *      http://www.apache.org/licenses/LICENSE-2.0
9612997fe2e41366573855f56898b27d4c8787244George Mount *
10612997fe2e41366573855f56898b27d4c8787244George Mount * Unless required by applicable law or agreed to in writing, software
11612997fe2e41366573855f56898b27d4c8787244George Mount * distributed under the License is distributed on an "AS IS" BASIS,
12612997fe2e41366573855f56898b27d4c8787244George Mount * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13612997fe2e41366573855f56898b27d4c8787244George Mount * See the License for the specific language governing permissions and
14612997fe2e41366573855f56898b27d4c8787244George Mount * limitations under the License.
15612997fe2e41366573855f56898b27d4c8787244George Mount */
16fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountpackage android.databinding.adapters;
17612997fe2e41366573855f56898b27d4c8787244George Mount
18cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mountimport android.databinding.BindingAdapter;
19fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.BindingMethod;
20fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.BindingMethods;
21cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mountimport android.graphics.drawable.Drawable;
22cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mountimport android.net.Uri;
23cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mountimport android.widget.ImageView;
243561e3e665698843b1c664385a842e779198960bGeorge Mount
253561e3e665698843b1c664385a842e779198960bGeorge Mount@BindingMethods({
26c619d8f69127c1200103d8119101c5f0675661d0George Mount        @BindingMethod(type = android.widget.ImageView.class, attribute = "android:tint", method = "setImageTintList"),
27c619d8f69127c1200103d8119101c5f0675661d0George Mount        @BindingMethod(type = android.widget.ImageView.class, attribute = "android:tintMode", method = "setImageTintMode"),
283561e3e665698843b1c664385a842e779198960bGeorge Mount})
293561e3e665698843b1c664385a842e779198960bGeorge Mountpublic class ImageViewBindingAdapter {
30cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    @BindingAdapter("android:src")
31cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    public static void setImageUri(ImageView view, String imageUri) {
32cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount        if (imageUri == null) {
33cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount            view.setImageURI(null);
34cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount        } else {
35cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount            view.setImageURI(Uri.parse(imageUri));
36cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount        }
37cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    }
38612997fe2e41366573855f56898b27d4c8787244George Mount
39cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    @BindingAdapter("android:src")
40cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    public static void setImageUri(ImageView view, Uri imageUri) {
41cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount        view.setImageURI(imageUri);
42cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    }
43cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount
44cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    @BindingAdapter("android:src")
45d6339f712b4b8ce04a1cb3eec9c2574f4d170990George Mount    public static void setImageDrawable(ImageView view, Drawable drawable) {
46cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount        view.setImageDrawable(drawable);
47cc0e609d998fa9f82d62050bea525afa3a6f92f3George Mount    }
48612997fe2e41366573855f56898b27d4c8787244George Mount}
49