184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao/* 284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Copyright (C) 2014 Google Inc. 384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Licensed to The Android Open Source Project. 484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * 584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Licensed under the Apache License, Version 2.0 (the "License"); 684662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * you may not use this file except in compliance with the License. 784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * You may obtain a copy of the License at 884662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * 984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * http://www.apache.org/licenses/LICENSE-2.0 1084662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * 1184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Unless required by applicable law or agreed to in writing, software 1284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * distributed under the License is distributed on an "AS IS" BASIS, 1384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * See the License for the specific language governing permissions and 1584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * limitations under the License. 1684662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao */ 1784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 1884662ce9ac05081b16dd58202acbc69c7e24a354Jin Caopackage com.android.mail.utils; 1984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 2084662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport android.content.res.Resources; 2184662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport android.support.v4.text.BidiFormatter; 2284662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport android.widget.ImageView; 2384662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport android.widget.TextView; 2484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 2584662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport com.android.mail.R; 2684662ce9ac05081b16dd58202acbc69c7e24a354Jin Caoimport com.android.mail.providers.Folder; 2784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 2884662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao/** 2984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Utility class for handling logic related to empty states throughout the app. 3084662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao */ 3184662ce9ac05081b16dd58202acbc69c7e24a354Jin Caopublic class EmptyStateUtils { 3284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 3384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao /** 3484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Given an empty folder, set the corresponding empty state icon for that folder. 3584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao */ 3684662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao public static void bindEmptyFolderIcon(ImageView view, Folder folder) { 3784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao if (folder == null) { 38b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_default); 3984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isInbox()) { 40b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_inbox); 4184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isSearch()) { 42b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_search); 4384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isSpam()) { 44b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_spam); 4584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isTrash()) { 46b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_trash); 4784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else { 48b29afab8f42465843c634b74190f6d6f9fb94513Jin Cao view.setImageResource(R.drawable.ic_empty_default); 4984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } 5084662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } 5184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao 5284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao /** 5384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao * Given an empty folder, set the corresponding text for indicating the empty state. 5484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao */ 5584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao public static void bindEmptyFolderText(TextView view, Folder folder, Resources res, 5684662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao String searchQuery, BidiFormatter bidiFormatter) { 5784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao if (folder == null) { 5884662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(R.string.empty_folder); 5984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isInbox()) { 6084662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(R.string.empty_inbox); 6184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isSearch()) { 6284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao final String text = res.getString(R.string.empty_search, 6384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao bidiFormatter.unicodeWrap(searchQuery)); 6484662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(text); 6584662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isSpam()) { 6684662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(R.string.empty_spam_folder); 6784662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else if (folder.isTrash()) { 6884662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(R.string.empty_trash_folder); 6984662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } else { 7084662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao view.setText(R.string.empty_folder); 7184662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } 7284662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao } 7384662ce9ac05081b16dd58202acbc69c7e24a354Jin Cao} 74