package com.feebe.lib; import java.io.File; import java.io.IOException; import com.feebe.rings.R; import android.app.Activity; import android.os.Build; import android.os.Environment; import android.widget.Toast; public class Const { //public static DownloadProvider downloadDb; public static DbAdapter dbAdapter; // const same for all public static final String expire = "expire"; public static final long OneDay = 1000 * 3600 * 24; public static final long OneWeek = OneDay * 7; public static final long OneMonth = OneDay * 30; public static final long OneYear = OneDay * 365; // resources protected static int LAYOUT_LIST = R.layout.list; protected static int no_result = R.string.no_result; protected static int no_sd; protected static int dlprogress_message= R.string.dlprogress_message; protected static int dlprogress_title = R.string.dlprogress_title; protected static int icon = R.drawable.ring; protected static int app_name= R.string.app_name; protected static int notification_text_failed= R.string.notification_text_failed;; protected static int notification_text_finish = R.string.notification_text_finish; protected static Activity main = null; public static final int NO_FILE_KIND = -1; public static final int FILE_KIND_MUSIC = 0; public static final int FILE_KIND_ALARM = 1; public static final int FILE_KIND_NOTIFICATION = 2; public static final int FILE_KIND_RINGTONE = 3; protected static String appname; public static String contentDir; public static String jsondir; public static String homedir; public static String cachedir; public static final int ver = Integer.parseInt(Build.VERSION.SDK); public static void noResultToast() { if(main != null) { try { Toast.makeText(main, no_result,Toast.LENGTH_SHORT).show(); } catch (Exception e) { } } } public static void init(Activity c) { main = c; Util.mSetting = c.getPreferences(0); File sdcardRoot = Environment.getExternalStorageDirectory(); dbAdapter = new DbAdapter(c); File homeDir = new File(sdcardRoot, appname); File songdir = new File(homeDir, "mp3"); File jdir = new File(homeDir, "json"); File cache = new File(homeDir, "cache"); if (!cache.exists()) { createDir(homeDir); createDir(songdir); createDir(jdir); createDir(cache); // Create an empty .nomedia file to prevent Gallery caching of images. File noMedia = new File(jdir, ".nomedia"); try { noMedia.createNewFile(); } catch (IOException e) { // // // Log.e("nomedia", e.getMessage()); } } homedir = homeDir.getAbsolutePath() + "/"; contentDir = songdir.getAbsolutePath() + "/";; jsondir = jdir.getAbsolutePath() + "/"; cachedir = cache.getAbsolutePath() + "/"; // // // Log.e("cache", cachedir); /* if (!homeDir.canWrite()) { Toast.makeText(Ring.main, R.string.no_sd_space,Toast.LENGTH_SHORT).show(); return; } */ //exceptionHandler(); } public static void trimCache() { new Thread(new Runnable() { @Override public void run() { File dir = new File(cachedir); if(dir!= null && dir.isDirectory()){ File[] children = dir.listFiles(); if (children == null) { // Either dir does not exist or is not a directory } else { File temp; for (int i = 0; i < children.length; i++) { temp = children[i]; temp.delete(); } } } //dir.delete(); } }).start(); } //public static String pkg; /* private static void reportCrash(Throwable ex) { try { HttpPost report = new HttpPost("http://ggapp.appspot.com/ringtone/bug/"); List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>(); formparams.add(new BasicNameValuePair("device", Build.DEVICE)); formparams.add(new BasicNameValuePair("model", Build.MODEL)); formparams.add(new BasicNameValuePair("sdk", Build.VERSION.SDK)); formparams.add(new BasicNameValuePair("version", pkg + getVersion())); String data = ex.getMessage(); Throwable real = ex.getCause(); if (real == null) { return; } StackTraceElement[] stack = real.getStackTrace(); for(int i = 0; i < stack.length; ++i) { data += stack[i].toString(); } formparams.add(new BasicNameValuePair("bug", data)); UrlEncodedFormEntity entity; entity = new UrlEncodedFormEntity(formparams, "UTF-8"); report.setEntity(entity); HttpClient httpclient = new DefaultHttpClient(); httpclient.execute(report); httpclient.getConnectionManager().shutdown(); } catch (Exception e) { e.printStackTrace(); } } private static void exceptionHandler() { Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, Throwable ex) { reportCrash(ex); main.finish(); } }); } private static int getVersion() { PackageInfo pInfo = null; try { pInfo = main.getPackageManager().getPackageInfo(pkg, PackageManager.GET_META_DATA); return pInfo.versionCode; } catch (Exception e) { e.printStackTrace(); } return 0; } */ private static void createDir(File dir) { if (!dir.mkdir()) { Toast.makeText(Const.main, no_sd,Toast.LENGTH_SHORT).show(); return; } } }