dialog to enable notification access
This commit is contained in:
@@ -14,6 +14,7 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import net.headlezz.notificationlogger.createnotification.NotificationCreationFragment;
|
import net.headlezz.notificationlogger.createnotification.NotificationCreationFragment;
|
||||||
|
import net.headlezz.notificationlogger.logger.LoggerUtils;
|
||||||
import net.headlezz.notificationlogger.presenter.LoggerWarningPresenter;
|
import net.headlezz.notificationlogger.presenter.LoggerWarningPresenter;
|
||||||
|
|
||||||
import butterknife.Bind;
|
import butterknife.Bind;
|
||||||
@@ -59,6 +60,8 @@ public class MainActivity extends AppCompatActivity implements SharedPreferences
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
if(!LoggerUtils.isLoggerRunning())
|
||||||
|
LoggerUtils.buildNotificationAccessDialog(this).show();
|
||||||
if(getSupportFragmentManager().getBackStackEntryCount() > 0)
|
if(getSupportFragmentManager().getBackStackEntryCount() > 0)
|
||||||
mFAB.setVisibility(View.GONE);
|
mFAB.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package net.headlezz.notificationlogger.logger;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.support.v7.app.AlertDialog;
|
||||||
|
|
||||||
|
import net.headlezz.notificationlogger.R;
|
||||||
|
|
||||||
|
public class LoggerUtils {
|
||||||
|
|
||||||
|
public static void openNotificationSystemSettings(Context context) {
|
||||||
|
Intent intent = new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
|
||||||
|
context.startActivity(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isLoggerRunning() {
|
||||||
|
return NotificationLoggerService.isRunning;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AlertDialog buildNotificationAccessDialog(final Context context) {
|
||||||
|
return new AlertDialog.Builder(context)
|
||||||
|
.setTitle(context.getString(R.string.main_dialog_enable_notification_access_title))
|
||||||
|
.setMessage(context.getString(R.string.main_dialog_enable_notification_access_message))
|
||||||
|
.setPositiveButton(R.string.main_dialog_enable_notification_access_positive, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
openNotificationSystemSettings(context);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setNegativeButton(R.string.main_dialog_enable_notification_access_negative, null)
|
||||||
|
.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -18,7 +18,14 @@ import timber.log.Timber;
|
|||||||
|
|
||||||
public class NotificationLoggerService extends NotificationListenerService implements SharedPreferences.OnSharedPreferenceChangeListener {
|
public class NotificationLoggerService extends NotificationListenerService implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* true if logger is enabled in system settings
|
||||||
|
*/
|
||||||
public static boolean isRunning = false;
|
public static boolean isRunning = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* true if logger is enabled in app settings
|
||||||
|
*/
|
||||||
public static boolean isEnabled = true;
|
public static boolean isEnabled = true;
|
||||||
|
|
||||||
SharedPreferences mSharedPrefs;
|
SharedPreferences mSharedPrefs;
|
||||||
|
|||||||
@@ -5,6 +5,10 @@
|
|||||||
|
|
||||||
<string name="main_snack_logging_disabled_warning">Logging is disabled.</string>
|
<string name="main_snack_logging_disabled_warning">Logging is disabled.</string>
|
||||||
<string name="main_snack_logging_disabled_warning_action">Enable</string>
|
<string name="main_snack_logging_disabled_warning_action">Enable</string>
|
||||||
|
<string name="main_dialog_enable_notification_access_title">Enable Notification Access</string>
|
||||||
|
<string name="main_dialog_enable_notification_access_message">In order to log notifcations, this app needs access to your notification system.</string>
|
||||||
|
<string name="main_dialog_enable_notification_access_positive">Open settings</string>
|
||||||
|
<string name="main_dialog_enable_notification_access_negative">Cancel</string>
|
||||||
|
|
||||||
<string name="pref_category_notification_settings">Notification Settings</string>
|
<string name="pref_category_notification_settings">Notification Settings</string>
|
||||||
<string name="pref_category_support">Support</string>
|
<string name="pref_category_support">Support</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user