From f7bf9cbd0da2659cd08491dc4cbabe42b016197b Mon Sep 17 00:00:00 2001 From: arpit khurana Date: Sat, 29 Nov 2014 16:13:04 +0530 Subject: [PATCH] Option to setringtone --- AndroidManifest.xml | 2 +- res/menu/contextual.xml | 3 +++ res/values/strings.xml | 1 + src/com/amaze/filemanager/fragments/Main.java | 20 ++++++++++++++++++- .../amaze/filemanager/utils/RootHelper.java | 16 ++++++++------- 5 files changed, 33 insertions(+), 9 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 8d1cf456d..9279237c0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -24,7 +24,7 @@ package="com.amaze.filemanager" android:versionCode="1" android:versionName="1.0" > - + diff --git a/res/menu/contextual.xml b/res/menu/contextual.xml index a27c3f77a..ae082d8f8 100644 --- a/res/menu/contextual.xml +++ b/res/menu/contextual.xml @@ -69,4 +69,7 @@ + diff --git a/res/values/strings.xml b/res/values/strings.xml index 47e330f6e..8eebec79e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -241,5 +241,6 @@ Type (Desc) root New + Set as ringtone diff --git a/src/com/amaze/filemanager/fragments/Main.java b/src/com/amaze/filemanager/fragments/Main.java index 2afcff07d..fd8c88938 100644 --- a/src/com/amaze/filemanager/fragments/Main.java +++ b/src/com/amaze/filemanager/fragments/Main.java @@ -25,6 +25,8 @@ import android.animation.AnimatorListenerAdapter; import android.app.Activity; import android.app.AlertDialog; import android.content.BroadcastReceiver; +import android.content.ContentResolver; +import android.content.ContentValues; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -35,6 +37,7 @@ import android.graphics.Color; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.Drawable; +import android.media.RingtoneManager; import android.net.Uri; import android.os.AsyncTask; import android.os.Build; @@ -42,6 +45,8 @@ import android.os.Bundle; import android.os.CountDownTimer; import android.os.Environment; import android.preference.PreferenceManager; +import android.provider.MediaStore; +import android.provider.Settings; import android.support.v4.app.FragmentTransaction; import android.util.DisplayMetrics; import android.view.ActionMode; @@ -727,6 +732,7 @@ public class Main extends android.support.v4.app.Fragment { hideOption(R.id.about, menu); hideOption(R.id.openwith, menu); hideOption(R.id.ex, menu); + hideOption(R.id.setringtone,menu); mode.setTitle(utils.getString(getActivity(), R.string.select)); if(Build.VERSION.SDK_INT<19) getActivity().findViewById(R.id.action_bar).setVisibility(View.GONE); @@ -753,7 +759,9 @@ public class Main extends android.support.v4.app.Fragment { showOption(R.id.ex, menu); hideOption(R.id.sethome, menu); showOption(R.id.share, menu); - } else { + }else if(x.getName().endsWith(".mp3")) + {showOption(R.id.setringtone,menu);} + else { hideOption(R.id.ex, menu); hideOption(R.id.sethome, menu); showOption(R.id.openwith, menu); @@ -797,6 +805,16 @@ public class Main extends android.support.v4.app.Fragment { utils.showProps(new File(x), ma,rootMode); mode.finish(); return true; + case R.id.setringtone: + File fx; + if(results) + fx=new File(slist.get((plist.get(0))).getDesc()); + else + fx=new File(list.get((plist.get(0))).getDesc()); + Uri uri = MediaStore.Audio.Media.getContentUriForPath(fx.getPath()); + Settings.System.putString(getActivity().getContentResolver(), + Settings.System.RINGTONE, uri.toString()); + return true; case R.id.delete: if(results) utils.deleteFiles(slist,ma,plist); diff --git a/src/com/amaze/filemanager/utils/RootHelper.java b/src/com/amaze/filemanager/utils/RootHelper.java index af0cff9c0..0659b9a71 100644 --- a/src/com/amaze/filemanager/utils/RootHelper.java +++ b/src/com/amaze/filemanager/utils/RootHelper.java @@ -93,14 +93,16 @@ public class RootHelper public static ArrayList getFilesList(String path,boolean showHidden){ File f=new File(path); ArrayList files=new ArrayList(); - if(f.exists() && f.isDirectory()){ - for(File x:f.listFiles()){ - if(showHidden){ - files.add(new String[]{x.getPath(),"",parseFilePermission(x)}); + try { + if(f.exists() && f.isDirectory()){ + for(File x:f.listFiles()){ + if(showHidden){ + files.add(new String[]{x.getPath(),"",parseFilePermission(x)}); + } + else{if(!x.isHidden()){files.add(new String[]{x.getPath(),"",parseFilePermission(x)});}} } - else{if(!x.isHidden()){files.add(new String[]{x.getPath(),"",parseFilePermission(x)});}} - } - } + }}catch (Exception e){} + return files;} public static String parseFilePermission(File f){