1d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko/* 2d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * Copyright (C) 2016 The Android Open Source Project 3d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * 4d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * Licensed under the Apache License, Version 2.0 (the "License"); 5d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * you may not use this file except in compliance with the License. 6d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * You may obtain a copy of the License at 7d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * 8d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * http://www.apache.org/licenses/LICENSE-2.0 9d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * 10d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * Unless required by applicable law or agreed to in writing, software 11d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * distributed under the License is distributed on an "AS IS" BASIS, 12d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * See the License for the specific language governing permissions and 14d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * limitations under the License. 15d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko */ 16d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko 17d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkopackage com.android.tv.util; 18d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko 19d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkoimport android.content.Context; 20d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkoimport android.support.annotation.MainThread; 21d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkoimport android.widget.Toast; 22d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko 23d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkoimport java.lang.ref.WeakReference; 24d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko 25d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko/** 26d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * A utility class for the toast message. 27d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko */ 28d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalkopublic class ToastUtils { 29d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko private static WeakReference<Toast> sToast; 30d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko 31d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko /** 32d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko * Shows the toast message after canceling the previous one. 33d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko */ 34d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko @MainThread 35d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko public static void show(Context context, CharSequence text, int duration) { 36d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko if (sToast != null && sToast.get() != null) { 37d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko sToast.get().cancel(); 38d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko } 39d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko Toast toast = Toast.makeText(context, text, duration); 40d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko toast.show(); 41d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko sToast = new WeakReference<>(toast); 42d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko } 43d41f0075a7d2ea826204e81fcec57d0aa57171a9Nick Chalko} 44