diff --git a/app/build.gradle b/app/build.gradle index fabd024..e397f3f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion 9 targetSdkVersion 20 versionCode 1 - versionName "0.9.5-alpha.3" + versionName "0.9.5-test.2" } buildTypes { release { diff --git a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java index eb15eeb..69e60c4 100644 --- a/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java +++ b/app/src/main/java/com/example/yink/amadeus/AlarmActivity.java @@ -10,6 +10,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; +import android.os.Vibrator; import android.preference.PreferenceManager; import android.util.Log; import android.view.View; @@ -29,6 +30,7 @@ public class AlarmActivity extends Activity { private TimePicker alarmTimePicker; private ToggleButton alarmToggle; private SharedPreferences settings; + private Vibrator v; @Override protected void onCreate(Bundle savedInstanceState) { @@ -41,7 +43,7 @@ public class AlarmActivity extends Activity { Intent alarmIntent = new Intent(this, AlarmReceiver.class); pendingIntent = PendingIntent.getBroadcast(this, ALARM_ID, alarmIntent, PendingIntent.FLAG_NO_CREATE); - alarmTimePicker.setIs24HourView(true); + alarmTimePicker.setIs24HourView(settings.getBoolean("24-hour_format", true)); if (settings.getBoolean("alarm_toggle", false)) { alarmToggle.setChecked(true); @@ -52,10 +54,11 @@ public class AlarmActivity extends Activity { public void onToggleClicked(View view) { SharedPreferences.Editor editor = settings.edit(); - NotificationManager notificationManager = (NotificationManager) getBaseContext().getSystemService(Context.NOTIFICATION_SERVICE);; + if (alarmToggle.isChecked()) { editor.putBoolean("alarm_toggle", true); Calendar calendar = Calendar.getInstance(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { Log.d(TAG, "Current API functions have been executed"); setTime(calendar); @@ -63,10 +66,14 @@ public class AlarmActivity extends Activity { Log.d(TAG, "Legacy API functions have been executed"); setTimeLegacy(calendar); } + Log.d(TAG, "Alarm On"); } else { AlarmReceiver.stopRingtone(this); + + NotificationManager notificationManager = (NotificationManager) getBaseContext().getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancel(AlarmService.ALARM_NOTIFICATION_ID); + editor.putBoolean("alarm_toggle", false); alarmManager.cancel(pendingIntent); Log.d(TAG, "Alarm Off"); @@ -78,9 +85,11 @@ public class AlarmActivity extends Activity { private void setTimeLegacy(Calendar calendar) { calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour()); calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute()); + if(calendar.before(Calendar.getInstance())) { calendar.add(Calendar.DATE, 1); } + alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); Toast.makeText(this, "Alarm has been set for " + alarmTimePicker.getCurrentHour() + " hour(s) " + alarmTimePicker.getCurrentMinute() + " minute(s)", Toast.LENGTH_SHORT).show(); } @@ -89,9 +98,11 @@ public class AlarmActivity extends Activity { private void setTime(Calendar calendar) { calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getHour()); calendar.set(Calendar.MINUTE, alarmTimePicker.getMinute()); + if(calendar.before(Calendar.getInstance())) { calendar.add(Calendar.DATE, 1); } + alarmManager.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); Toast.makeText(this, "Alarm has been set for " + alarmTimePicker.getHour() + " hour(s) " + alarmTimePicker.getMinute() + " minute(s)", Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/example/yink/amadeus/AlarmReceiver.java b/app/src/main/java/com/example/yink/amadeus/AlarmReceiver.java index c6570a5..306c74c 100644 --- a/app/src/main/java/com/example/yink/amadeus/AlarmReceiver.java +++ b/app/src/main/java/com/example/yink/amadeus/AlarmReceiver.java @@ -44,6 +44,7 @@ public class AlarmReceiver extends WakefulBroadcastReceiver { public static void stopRingtone(Context context) { settings = PreferenceManager.getDefaultSharedPreferences(context); + if (isPlaying) { SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("alarm_toggle", false); @@ -51,6 +52,7 @@ public class AlarmReceiver extends WakefulBroadcastReceiver { m.release(); isPlaying = false; } + } public static boolean isPlaying() { diff --git a/app/src/main/java/com/example/yink/amadeus/LangContext.java b/app/src/main/java/com/example/yink/amadeus/LangContext.java index 6e3fd7d..cb37d59 100644 --- a/app/src/main/java/com/example/yink/amadeus/LangContext.java +++ b/app/src/main/java/com/example/yink/amadeus/LangContext.java @@ -33,6 +33,7 @@ public class LangContext extends ContextWrapper { } else { setSystemLocaleLegacy(config, locale); } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { context = context.createConfigurationContext(config); } else { @@ -53,6 +54,7 @@ public class LangContext extends ContextWrapper { } else { setSystemLocaleLegacy(config, locale); } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { context = context.createConfigurationContext(config); } else { diff --git a/app/src/main/java/com/example/yink/amadeus/LaunchActivity.java b/app/src/main/java/com/example/yink/amadeus/LaunchActivity.java index 7b394a4..edf3d61 100644 --- a/app/src/main/java/com/example/yink/amadeus/LaunchActivity.java +++ b/app/src/main/java/com/example/yink/amadeus/LaunchActivity.java @@ -185,6 +185,7 @@ public class LaunchActivity extends AppCompatActivity { @Override protected void onResume() { super.onResume(); + if (isPressed) { status.setText(R.string.disconnected); } else if (!isAppInstalled(LaunchActivity.this, "com.google.android.googlequicksearchbox")) { @@ -194,6 +195,7 @@ public class LaunchActivity extends AppCompatActivity { } else { status.setText(R.string.call); } + isPressed = false; connect.setImageResource(R.drawable.connect_unselect); cancel.setImageResource(R.drawable.cancel_unselect); diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 0670e30..3a849b9 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -24,6 +24,7 @@ Выберите рингтон для будильника Рингтон будильника Вибрация будильника + 24-часовой формат Привет. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 63cbe43..d79eeac 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -25,6 +25,7 @@ Alarm ringtone Select ringtone for alarm Vibrate on alarm + 24-hour format Hello. diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 7b6bb1b..b320580 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -39,6 +39,10 @@ android:key="ringtone" android:summary="@string/pref_alarm_ringtone_desc" android:title="@string/pref_alarm_ringtone" /> +