diff --git a/app/build.gradle b/app/build.gradle index a327b3e..72ec1f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "deep.ryd.rydplayer" minSdkVersion 21 targetSdkVersion 28 - versionCode 11 - versionName "0.1.8-beta" + versionCode 12 + versionName "0.1.9-beta" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e935046..8ed90df 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,9 +14,10 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> + + android:label="@string/title_activity_settings" /> diff --git a/app/src/main/java/deep/ryd/rydplayer/About.java b/app/src/main/java/deep/ryd/rydplayer/About.java new file mode 100644 index 0000000..9b3a094 --- /dev/null +++ b/app/src/main/java/deep/ryd/rydplayer/About.java @@ -0,0 +1,30 @@ +package deep.ryd.rydplayer; + +import android.content.Intent; +import android.net.Uri; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +public class About extends AppCompatActivity { + + Button donate; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_about); + + donate = findViewById(R.id.donate); + donate.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + Intent intent = new Intent(Intent.ACTION_VIEW, + Uri.parse("https://en.liberapay.com/deepgaurav/")); + startActivity(intent); + } + }); + } +} diff --git a/app/src/main/java/deep/ryd/rydplayer/Main2Activity.java b/app/src/main/java/deep/ryd/rydplayer/Main2Activity.java index 02d2aa3..7cce437 100644 --- a/app/src/main/java/deep/ryd/rydplayer/Main2Activity.java +++ b/app/src/main/java/deep/ryd/rydplayer/Main2Activity.java @@ -214,6 +214,11 @@ public boolean onOptionsItemSelected(MenuItem item) { startActivity(i); return true; } + else if(id == R.id.action_donate){ + Intent i = new Intent(this,About.class); + startActivity(i); + return true; + } return super.onOptionsItemSelected(item); } diff --git a/app/src/main/java/deep/ryd/rydplayer/PlayerService.java b/app/src/main/java/deep/ryd/rydplayer/PlayerService.java index 2d3d0d4..c257ebd 100644 --- a/app/src/main/java/deep/ryd/rydplayer/PlayerService.java +++ b/app/src/main/java/deep/ryd/rydplayer/PlayerService.java @@ -172,7 +172,7 @@ public void nextSong(){ Log.i("ryd","Old streamurl "+streamInfo.getAudioStreams().get(0).getUrl()); if(currentIndex!=queue.size()-1) { if(getSharedPreferences("InternalSettings",Context.MODE_PRIVATE).getInt("Shuffle",0)==1) - currentIndex=new Random().nextInt()%queue.size(); + currentIndex=abs(new Random().nextInt())%queue.size(); else currentIndex++; playfromQueue(true); @@ -510,7 +510,8 @@ public void onReceive(Context context, Intent intent) { intent1.setAction(MainActivity.MAINACTIVITYTBROADCASTACTION); mainobj.sendBroadcast(intent1); - mainobj.stopForeground(true); + //mainobj.stopForeground(true); + mainobj.stopSelf(); mainobj.stopForeground(true); } diff --git a/app/src/main/java/deep/ryd/rydplayer/SettingsActivity.java b/app/src/main/java/deep/ryd/rydplayer/SettingsActivity.java index 4f0342b..be4e9f9 100644 --- a/app/src/main/java/deep/ryd/rydplayer/SettingsActivity.java +++ b/app/src/main/java/deep/ryd/rydplayer/SettingsActivity.java @@ -18,7 +18,9 @@ import android.preference.PreferenceManager; import android.preference.RingtonePreference; import android.support.v7.app.AppCompatActivity; +import android.text.Editable; import android.text.TextUtils; +import android.text.TextWatcher; import android.view.MenuItem; import android.widget.CompoundButton; import android.widget.EditText; @@ -32,6 +34,7 @@ public class SettingsActivity extends AppCompatActivity { Switch audiofocus; + EditText cacheSize; @Override public void onCreate(Bundle savedInstanceState){ @@ -39,8 +42,9 @@ public void onCreate(Bundle savedInstanceState){ setContentView(R.layout.settings_layout); audiofocus=findViewById(R.id.audioFocus); + cacheSize=findViewById(R.id.cacheS); - + cacheSize.setText(String.valueOf(getSharedPreferences("Settings",Context.MODE_PRIVATE).getInt("cacheSize",100))); audiofocus.setChecked(getSharedPreferences("Settings",Context.MODE_PRIVATE).getBoolean("respectAudioFocus",true)); audiofocus.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override @@ -52,6 +56,36 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { } }); + cacheSize.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + try { + String s1 = s.toString(); + int cach = Integer.parseInt(s1); + if(cach>=0) { + SharedPreferences sharedPreferences = getSharedPreferences("Settings", Context.MODE_PRIVATE); + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.remove("cacheSize"); + editor.putInt("cacheSize", cach); + editor.commit(); + } + } + catch (Exception e){ + + } + } + }); + } } diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml new file mode 100644 index 0000000..63b51d4 --- /dev/null +++ b/app/src/main/res/layout/activity_about.xml @@ -0,0 +1,43 @@ + + + + + + + +