2015-10-13 21:44:01 -07:00
|
|
|
package org.thoughtcrime.securesms.components.reminder;
|
2014-08-04 13:13:47 -07:00
|
|
|
|
|
|
|
import android.annotation.TargetApi;
|
|
|
|
import android.content.Context;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.os.Build.VERSION_CODES;
|
|
|
|
import android.provider.Telephony;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.R;
|
|
|
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
|
|
|
import org.thoughtcrime.securesms.util.Util;
|
|
|
|
|
|
|
|
public class DefaultSmsReminder extends Reminder {
|
|
|
|
|
|
|
|
@TargetApi(VERSION_CODES.KITKAT)
|
|
|
|
public DefaultSmsReminder(final Context context) {
|
2015-10-13 21:44:01 -07:00
|
|
|
super(context.getString(R.string.reminder_header_sms_default_title),
|
2015-10-23 12:47:21 -07:00
|
|
|
context.getString(R.string.reminder_header_sms_default_text));
|
2014-08-04 13:13:47 -07:00
|
|
|
|
|
|
|
final OnClickListener okListener = new OnClickListener() {
|
|
|
|
@Override
|
|
|
|
public void onClick(View v) {
|
|
|
|
TextSecurePreferences.setPromptedDefaultSmsProvider(context, true);
|
|
|
|
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
|
|
|
|
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
|
|
|
|
context.startActivity(intent);
|
|
|
|
}
|
|
|
|
};
|
2015-10-13 21:44:01 -07:00
|
|
|
final OnClickListener dismissListener = new OnClickListener() {
|
2014-08-04 13:13:47 -07:00
|
|
|
@Override
|
|
|
|
public void onClick(View v) {
|
|
|
|
TextSecurePreferences.setPromptedDefaultSmsProvider(context, true);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
setOkListener(okListener);
|
2015-10-13 21:44:01 -07:00
|
|
|
setDismissListener(dismissListener);
|
2014-08-04 13:13:47 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public static boolean isEligible(Context context) {
|
|
|
|
final boolean isDefault = Util.isDefaultSmsProvider(context);
|
|
|
|
if (isDefault) {
|
|
|
|
TextSecurePreferences.setPromptedDefaultSmsProvider(context, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
return !isDefault && !TextSecurePreferences.hasPromptedDefaultSmsProvider(context);
|
|
|
|
}
|
|
|
|
}
|