Home | History | Annotate | Download | only in utils
      1 /*
      2  * Copyright (C) 2014 Google Inc.
      3  * Licensed to The Android Open Source Project.
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *      http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package com.android.mail.utils;
     19 
     20 import android.content.res.Resources;
     21 import android.support.v4.text.BidiFormatter;
     22 import android.widget.ImageView;
     23 import android.widget.TextView;
     24 
     25 import com.android.mail.R;
     26 import com.android.mail.providers.Folder;
     27 
     28 /**
     29  * Utility class for handling logic related to empty states throughout the app.
     30  */
     31 public class EmptyStateUtils {
     32 
     33     /**
     34      * Given an empty folder, set the corresponding empty state icon for that folder.
     35      */
     36     public static void bindEmptyFolderIcon(ImageView view, Folder folder) {
     37         if (folder == null) {
     38             view.setImageResource(R.drawable.ic_empty_default);
     39         } else if (folder.isInbox()) {
     40             view.setImageResource(R.drawable.ic_empty_inbox);
     41         } else if (folder.isSearch()) {
     42             view.setImageResource(R.drawable.ic_empty_search);
     43         } else if (folder.isSpam()) {
     44             view.setImageResource(R.drawable.ic_empty_spam);
     45         } else if (folder.isTrash()) {
     46             view.setImageResource(R.drawable.ic_empty_trash);
     47         } else {
     48             view.setImageResource(R.drawable.ic_empty_default);
     49         }
     50     }
     51 
     52     /**
     53      * Given an empty folder, set the corresponding text for indicating the empty state.
     54      */
     55     public static void bindEmptyFolderText(TextView view, Folder folder, Resources res,
     56             String searchQuery, BidiFormatter bidiFormatter) {
     57         if (folder == null) {
     58             view.setText(R.string.empty_folder);
     59         } else if (folder.isInbox()) {
     60             view.setText(R.string.empty_inbox);
     61         } else if (folder.isSearch()) {
     62             final String text = res.getString(R.string.empty_search,
     63                     bidiFormatter.unicodeWrap(searchQuery));
     64             view.setText(text);
     65         } else if (folder.isSpam()) {
     66             view.setText(R.string.empty_spam_folder);
     67         } else if (folder.isTrash()) {
     68             view.setText(R.string.empty_trash_folder);
     69         } else {
     70             view.setText(R.string.empty_folder);
     71         }
     72     }
     73 }
     74