EditTextAttributeHelper.java revision 121179956e5084ce4f69730e81e8ded76136c936
1d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir/*
2d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Copyright (C) 2017 The Android Open Source Project
3d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir *
4d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Licensed under the Apache License, Version 2.0 (the "License");
5d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * you may not use this file except in compliance with the License.
6d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * You may obtain a copy of the License at
7d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir *
8d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir *      http://www.apache.org/licenses/LICENSE-2.0
9d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir *
10d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Unless required by applicable law or agreed to in writing, software
11d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * distributed under the License is distributed on an "AS IS" BASIS,
12d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * See the License for the specific language governing permissions and
14d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * limitations under the License.
15d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir */
16d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
17d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirpackage android.support.text.emoji.widget;
18d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
19d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport static android.support.annotation.RestrictTo.Scope.LIBRARY_GROUP;
20d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
21d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.Context;
22d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.content.res.TypedArray;
23d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.annotation.NonNull;
24d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.annotation.RestrictTo;
25d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.support.text.emoji.R;
26d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.util.AttributeSet;
27d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirimport android.view.View;
28d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
29d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir/**
30d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * Helper class to parse EmojiCompat EditText attributes.
31d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir *
32d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir * @hide
33d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir */
34d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir@RestrictTo(LIBRARY_GROUP)
35d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinirpublic class EditTextAttributeHelper {
36121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas    static final int MAX_EMOJI_COUNT = Integer.MAX_VALUE;
37d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir    private int mMaxEmojiCount;
38d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
39d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir    public EditTextAttributeHelper(@NonNull View view, AttributeSet attrs, int defStyleAttr) {
40d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir        if (view != null && attrs != null) {
41d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir            final Context context = view.getContext();
42d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir            TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.EmojiEditText,
43d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir                    defStyleAttr, 0);
44121179956e5084ce4f69730e81e8ded76136c936Aurimas Liutikas            mMaxEmojiCount = a.getInteger(R.styleable.EmojiEditText_maxEmojiCount, MAX_EMOJI_COUNT);
45d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir            a.recycle();
46d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir        }
47d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir    }
48d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir
49d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir    public int getMaxEmojiCount() {
50d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir        return mMaxEmojiCount;
51d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir    }
52d6e62a9d119a07f4d2bd686f357d8a667085fe71Siyamed Sinir}
53