Coverage Report - org.codeforamerica.open311.internals.caching.AndroidCache
 
Classes in this File Line Coverage Branch Coverage Complexity
AndroidCache
0%
0/15
0%
0/2
1.2
 
 1  
 package org.codeforamerica.open311.internals.caching;
 2  
 
 3  
 import android.content.Context;
 4  
 import android.content.SharedPreferences;
 5  
 import android.content.SharedPreferences.Editor;
 6  
 
 7  
 /**
 8  
  * Uses the <a href=
 9  
  * "http://developer.android.com/reference/android/content/SharedPreferences.html"
 10  
  * >SharedPreferences</a> of Android to store the data. Singleton class.
 11  
  * 
 12  
  * @author Santiago MunĂ­n <santimunin@gmail.com>
 13  
  * 
 14  
  */
 15  
 public class AndroidCache extends AbstractCache {
 16  
         /**
 17  
          * Unique instance of the class.
 18  
          */
 19  
         private static AndroidCache instance;
 20  
         private SharedPreferences preferences;
 21  
 
 22  
         /**
 23  
          * Returns the unique instance of the class.
 24  
          * 
 25  
          * @param context
 26  
          *            Android context. Needed the first time is called to build the
 27  
          *            {@link SharedPreferences}.
 28  
          * @return Unique instance of the class.
 29  
          */
 30  
         public static AndroidCache getInstance(Context context) {
 31  0
                 if (instance == null) {
 32  0
                         instance = new AndroidCache(context);
 33  
                 }
 34  0
                 return instance;
 35  
         }
 36  
 
 37  
         /**
 38  
          * Prevents this class to be instantiate from outside itself.
 39  
          * 
 40  
          * @param context
 41  
          *            Android context. Needed the first time is called to build the
 42  
          *            {@link SharedPreferences}.
 43  
          */
 44  0
         private AndroidCache(Context context) {
 45  0
                 preferences = context.getSharedPreferences(FILE, 0);
 46  0
         }
 47  
 
 48  
         @Override
 49  
         public void deleteCache() {
 50  0
                 Editor editor = preferences.edit();
 51  0
                 editor.clear();
 52  0
                 editor.commit();
 53  0
         }
 54  
 
 55  
         @Override
 56  
         protected void saveProperty(String key, String value) {
 57  0
                 Editor editor = preferences.edit();
 58  0
                 editor.putString(key, value);
 59  0
                 editor.commit();
 60  0
         }
 61  
 
 62  
         @Override
 63  
         protected String getProperty(String key) {
 64  0
                 return preferences.getString(key, "");
 65  
         }
 66  
 }