Fix SMS, bad MODIFIED timestamp, and API19 beta crash.

This commit is contained in:
Alex Hart 2020-10-26 13:41:30 -03:00 committed by GitHub
parent ba1df58eb3
commit 373d622535
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 39 additions and 14 deletions

View file

@ -2,13 +2,12 @@ package org.thoughtcrime.securesms.components.reminder;
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.SmsUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
@ -23,9 +22,7 @@ public class DefaultSmsReminder extends Reminder {
@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);
context.startActivity(SmsUtil.getSmsRoleIntent(context));
}
};
final OnClickListener dismissListener = new OnClickListener() {

View file

@ -243,6 +243,7 @@ import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.MessageUtil;
import org.thoughtcrime.securesms.util.PlayStoreUtil;
import org.thoughtcrime.securesms.util.ServiceUtil;
import org.thoughtcrime.securesms.util.SmsUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.TextSecurePreferences.MediaKeyboardMode;
import org.thoughtcrime.securesms.util.Util;
@ -1129,9 +1130,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
@TargetApi(Build.VERSION_CODES.KITKAT)
private void handleMakeDefaultSms() {
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName());
startActivityForResult(intent, SMS_DEFAULT);
startActivityForResult(SmsUtil.getSmsRoleIntent(this), SMS_DEFAULT);
}
private void handleRegisterForSignal() {

View file

@ -6,7 +6,7 @@ import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Telephony;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@ -16,6 +16,7 @@ import androidx.preference.PreferenceScreen;
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.util.SmsUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
@ -78,9 +79,7 @@ public class SmsMmsPreferenceFragment extends CorrectedPreferenceFragment {
defaultPreference.setTitle(getString(R.string.ApplicationPreferencesActivity_sms_enabled));
defaultPreference.setSummary(getString(R.string.ApplicationPreferencesActivity_touch_to_change_your_default_sms_app));
} else {
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getActivity().getPackageName());
defaultPreference.setIntent(intent);
defaultPreference.setIntent(SmsUtil.getSmsRoleIntent(requireContext()));
defaultPreference.setTitle(getString(R.string.ApplicationPreferencesActivity_sms_disabled));
defaultPreference.setSummary(getString(R.string.ApplicationPreferencesActivity_touch_to_make_signal_your_default_sms_app));
}

View file

@ -159,6 +159,8 @@ public class SaveAttachmentTask extends ProgressDialogAsyncTask<SaveAttachmentTa
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, fileName);
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, mimeType);
contentValues.put(MediaStore.MediaColumns.DATE_ADDED, System.currentTimeMillis());
contentValues.put(MediaStore.MediaColumns.DATE_MODIFIED, System.currentTimeMillis());
if (Build.VERSION.SDK_INT > 28) {
contentValues.put(MediaStore.MediaColumns.IS_PENDING, 1);

View file

@ -0,0 +1,27 @@
package org.thoughtcrime.securesms.util;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Telephony;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
public final class SmsUtil {
private SmsUtil() {
}
public static @NonNull Intent getSmsRoleIntent(@NonNull Context context) {
if (Build.VERSION.SDK_INT >= 29) {
RoleManager roleManager = ContextCompat.getSystemService(context, RoleManager.class);
return roleManager.createRequestRoleIntent(RoleManager.ROLE_SMS);
} else {
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
return intent;
}
}
}

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="?colorAccent"/>
<solid android:color="@color/core_white"/>
<corners android:radius="8dp"/>
</shape>

View file

@ -157,7 +157,8 @@
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:text="@string/BackupsPreferenceFragment__turn_on"
android:textColor="@color/core_white" />
android:textColor="@color/core_white"
app:backgroundTint="?colorAccent" />
<View
android:layout_width="match_parent"