Add logging to track down ConversationActivity crash.
This commit is contained in:
parent
ebf3b0dfe1
commit
447236ee38
17 changed files with 91 additions and 8 deletions
|
@ -223,6 +223,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
|
||||||
|
|
||||||
Intent intent = new Intent(this, ConversationActivity.class);
|
Intent intent = new Intent(this, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.CONVERSATION_LIST);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
||||||
intent.putExtra(ConversationActivity.TIMING_EXTRA, System.currentTimeMillis());
|
intent.putExtra(ConversationActivity.TIMING_EXTRA, System.currentTimeMillis());
|
||||||
|
|
|
@ -55,6 +55,7 @@ public class ConversationListArchiveActivity extends PassphraseRequiredActionBar
|
||||||
public void onCreateConversation(long threadId, Recipient recipient, int distributionType, long lastSeenTime) {
|
public void onCreateConversation(long threadId, Recipient recipient, int distributionType, long lastSeenTime) {
|
||||||
Intent intent = new Intent(this, ConversationActivity.class);
|
Intent intent = new Intent(this, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.ARCHIVE);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.putExtra(ConversationActivity.IS_ARCHIVED_EXTRA, true);
|
intent.putExtra(ConversationActivity.IS_ARCHIVED_EXTRA, true);
|
||||||
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
||||||
|
|
|
@ -262,6 +262,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, ThreadDatabase.DistributionTypes.DEFAULT);
|
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, ThreadDatabase.DistributionTypes.DEFAULT);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.GROUP_CREATE);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,7 @@ public class NewConversationActivity extends ContactSelectionActivity
|
||||||
|
|
||||||
Intent intent = new Intent(this, ConversationActivity.class);
|
Intent intent = new Intent(this, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.NEW_CONVERSATION);
|
||||||
intent.putExtra(ConversationActivity.TEXT_EXTRA, getIntent().getStringExtra(ConversationActivity.TEXT_EXTRA));
|
intent.putExtra(ConversationActivity.TEXT_EXTRA, getIntent().getStringExtra(ConversationActivity.TEXT_EXTRA));
|
||||||
intent.setDataAndType(getIntent().getData(), getIntent().getType());
|
intent.setDataAndType(getIntent().getData(), getIntent().getType());
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.contacts.avatars.ContactPhoto;
|
||||||
import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto;
|
import org.thoughtcrime.securesms.contacts.avatars.FallbackContactPhoto;
|
||||||
import org.thoughtcrime.securesms.contacts.avatars.ProfileContactPhoto;
|
import org.thoughtcrime.securesms.contacts.avatars.ProfileContactPhoto;
|
||||||
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
|
||||||
|
import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
||||||
import org.thoughtcrime.securesms.database.GroupDatabase;
|
import org.thoughtcrime.securesms.database.GroupDatabase;
|
||||||
import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob;
|
import org.thoughtcrime.securesms.jobs.RotateProfileKeyJob;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
|
@ -767,7 +768,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageClicked() {
|
public void onMessageClicked() {
|
||||||
CommunicationActions.startConversation(getContext(), recipient.get(), null);
|
CommunicationActions.startConversation(getContext(), recipient.get(), null, ConversationActivity.Breadcrumb.RECIPIENT_PREFERENCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -241,6 +241,7 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
|
||||||
private void createConversation(long threadId, @NonNull RecipientId recipientId, int distributionType) {
|
private void createConversation(long threadId, @NonNull RecipientId recipientId, int distributionType) {
|
||||||
final Intent intent = getBaseShareIntent(ConversationActivity.class);
|
final Intent intent = getBaseShareIntent(ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipientId);
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipientId);
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.SHARE);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
intent.putExtra(ConversationActivity.DISTRIBUTION_TYPE_EXTRA, distributionType);
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import androidx.core.app.TaskStackBuilder;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions;
|
import org.thoughtcrime.securesms.util.CommunicationActions;
|
||||||
|
@ -42,7 +43,7 @@ public class ShortcutLauncherActivity extends AppCompatActivity {
|
||||||
TaskStackBuilder backStack = TaskStackBuilder.create(this)
|
TaskStackBuilder backStack = TaskStackBuilder.create(this)
|
||||||
.addNextIntent(new Intent(this, ConversationListActivity.class));
|
.addNextIntent(new Intent(this, ConversationListActivity.class));
|
||||||
|
|
||||||
CommunicationActions.startConversation(this, recipient, null, backStack);
|
CommunicationActions.startConversation(this, recipient, null, ConversationActivity.Breadcrumb.SHORTCUT, backStack);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class SmsSendtoActivity extends Activity {
|
||||||
nextIntent = new Intent(this, ConversationActivity.class);
|
nextIntent = new Intent(this, ConversationActivity.class);
|
||||||
nextIntent.putExtra(ConversationActivity.TEXT_EXTRA, destination.getBody());
|
nextIntent.putExtra(ConversationActivity.TEXT_EXTRA, destination.getBody());
|
||||||
nextIntent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
nextIntent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
nextIntent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
nextIntent.putExtra(ConversationActivity.RECIPIENT_EXTRA, ConversationActivity.Breadcrumb.SMS_SEND_TO);
|
||||||
}
|
}
|
||||||
return nextIntent;
|
return nextIntent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
import org.thoughtcrime.securesms.ApplicationContext;
|
import org.thoughtcrime.securesms.ApplicationContext;
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
|
import org.thoughtcrime.securesms.conversation.ConversationActivity;
|
||||||
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
import org.thoughtcrime.securesms.database.RecipientDatabase;
|
||||||
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob;
|
import org.thoughtcrime.securesms.jobs.DirectoryRefreshJob;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||||
|
@ -214,7 +215,7 @@ public class SharedContactDetailsActivity extends PassphraseRequiredActionBarAct
|
||||||
|
|
||||||
messageButtonView.setOnClickListener(v -> {
|
messageButtonView.setOnClickListener(v -> {
|
||||||
ContactUtil.selectRecipientThroughDialog(this, pushUsers, dynamicLanguage.getCurrentLocale(), recipient -> {
|
ContactUtil.selectRecipientThroughDialog(this, pushUsers, dynamicLanguage.getCurrentLocale(), recipient -> {
|
||||||
CommunicationActions.startConversation(this, recipient, null);
|
CommunicationActions.startConversation(this, recipient, null, ConversationActivity.Breadcrumb.SHARED_CONTACT_DETAILS);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,7 @@ import org.thoughtcrime.securesms.recipients.LiveRecipient;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientExporter;
|
import org.thoughtcrime.securesms.recipients.RecipientExporter;
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientFormattingException;
|
import org.thoughtcrime.securesms.recipients.RecipientFormattingException;
|
||||||
|
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||||
import org.thoughtcrime.securesms.search.model.MessageResult;
|
import org.thoughtcrime.securesms.search.model.MessageResult;
|
||||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||||
|
@ -257,7 +258,26 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||||
{
|
{
|
||||||
private static final String TAG = ConversationActivity.class.getSimpleName();
|
private static final String TAG = ConversationActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
public static final class Breadcrumb {
|
||||||
|
public static final String SHORTCUT = "shortcut";
|
||||||
|
public static final String SHARED_CONTACT = "shared_contact";
|
||||||
|
public static final String SHARED_CONTACT_DETAILS = "shared_contact_details";
|
||||||
|
public static final String RECIPIENT_PREFERENCE = "recipient_preference";
|
||||||
|
public static final String CONVERSATION_LIST = "conversation_list";
|
||||||
|
public static final String SHARE = "share";
|
||||||
|
public static final String NOTIFICATION = "notification";
|
||||||
|
public static final String SEARCH = "search";
|
||||||
|
public static final String ARCHIVE = "archive";
|
||||||
|
public static final String POPUP = "popup";
|
||||||
|
public static final String GROUP_CREATE = "group_create";
|
||||||
|
public static final String NOTIFIER = "notifier";
|
||||||
|
public static final String NEW_CONVERSATION = "new_conversation";
|
||||||
|
public static final String NOTIFICATION_STATE = "notification_state";
|
||||||
|
public static final String SMS_SEND_TO = "sms_send_to";
|
||||||
|
}
|
||||||
|
|
||||||
public static final String RECIPIENT_EXTRA = "recipient_id";
|
public static final String RECIPIENT_EXTRA = "recipient_id";
|
||||||
|
public static final String BREADCRUMB_EXTRA = "breadcrumb";
|
||||||
public static final String THREAD_ID_EXTRA = "thread_id";
|
public static final String THREAD_ID_EXTRA = "thread_id";
|
||||||
public static final String IS_ARCHIVED_EXTRA = "is_archived";
|
public static final String IS_ARCHIVED_EXTRA = "is_archived";
|
||||||
public static final String TEXT_EXTRA = "draft_text";
|
public static final String TEXT_EXTRA = "draft_text";
|
||||||
|
@ -1577,7 +1597,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeResources() {
|
private void initializeResources() {
|
||||||
recipient = Recipient.live(getIntent().getParcelableExtra(RECIPIENT_EXTRA));
|
recipient = Recipient.live(getRecipientFromIntentOrThrow(getIntent()));
|
||||||
threadId = getIntent().getLongExtra(THREAD_ID_EXTRA, -1);
|
threadId = getIntent().getLongExtra(THREAD_ID_EXTRA, -1);
|
||||||
archived = getIntent().getBooleanExtra(IS_ARCHIVED_EXTRA, false);
|
archived = getIntent().getBooleanExtra(IS_ARCHIVED_EXTRA, false);
|
||||||
distributionType = getIntent().getIntExtra(DISTRIBUTION_TYPE_EXTRA, ThreadDatabase.DistributionTypes.DEFAULT);
|
distributionType = getIntent().getIntExtra(DISTRIBUTION_TYPE_EXTRA, ThreadDatabase.DistributionTypes.DEFAULT);
|
||||||
|
@ -1656,6 +1676,36 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private RecipientId getRecipientFromIntentOrThrow(@NonNull Intent intent) {
|
||||||
|
RecipientId id = intent.getParcelableExtra(RECIPIENT_EXTRA);
|
||||||
|
String source = intent.getStringExtra(BREADCRUMB_EXTRA);
|
||||||
|
|
||||||
|
Log.d(TAG, "Breadcrumb: " + source);
|
||||||
|
|
||||||
|
if (id == null) {
|
||||||
|
switch (source) {
|
||||||
|
case Breadcrumb.SHORTCUT: throw new ShortcutBreadcrumbError();
|
||||||
|
case Breadcrumb.SHARED_CONTACT: throw new SharedContactBreadcrumbError();
|
||||||
|
case Breadcrumb.SHARED_CONTACT_DETAILS: throw new SharedContactDetailsBreadcrumbError();
|
||||||
|
case Breadcrumb.RECIPIENT_PREFERENCE: throw new RecipientPreferenceBreadcrumbError();
|
||||||
|
case Breadcrumb.CONVERSATION_LIST: throw new ConversationListBreadcrumbError();
|
||||||
|
case Breadcrumb.SHARE: throw new ShareBreadcrumbError();
|
||||||
|
case Breadcrumb.NOTIFICATION: throw new NotificationBreadcrumbError();
|
||||||
|
case Breadcrumb.SEARCH: throw new SearchBreadcrumbError();
|
||||||
|
case Breadcrumb.ARCHIVE: throw new ArchiveBreadcrumbError();
|
||||||
|
case Breadcrumb.POPUP: throw new PopupBreadcrumbError();
|
||||||
|
case Breadcrumb.GROUP_CREATE: throw new GroupCreateBreadcrumbError();
|
||||||
|
case Breadcrumb.NOTIFIER: throw new NotifierBreadcrumbError();
|
||||||
|
case Breadcrumb.NEW_CONVERSATION: throw new NewConversationBreadcrumbError();
|
||||||
|
case Breadcrumb.NOTIFICATION_STATE: throw new NotificationStateBreadcrumbError();
|
||||||
|
case Breadcrumb.SMS_SEND_TO: throw new SmsSendToBreadcrumbError();
|
||||||
|
default: throw new NullBreadcrumbError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
private void showStickerIntroductionTooltip() {
|
private void showStickerIntroductionTooltip() {
|
||||||
TextSecurePreferences.setMediaKeyboardMode(this, MediaKeyboardMode.STICKER);
|
TextSecurePreferences.setMediaKeyboardMode(this, MediaKeyboardMode.STICKER);
|
||||||
inputPanel.setMediaKeyboardToggleMode(true);
|
inputPanel.setMediaKeyboardToggleMode(true);
|
||||||
|
@ -2811,4 +2861,22 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static final class ShortcutBreadcrumbError extends Error { }
|
||||||
|
private static final class SharedContactBreadcrumbError extends Error { }
|
||||||
|
private static final class SharedContactDetailsBreadcrumbError extends Error { }
|
||||||
|
private static final class RecipientPreferenceBreadcrumbError extends Error { }
|
||||||
|
private static final class ConversationListBreadcrumbError extends Error { }
|
||||||
|
private static final class ShareBreadcrumbError extends Error { }
|
||||||
|
private static final class NotificationBreadcrumbError extends Error { }
|
||||||
|
private static final class SearchBreadcrumbError extends Error { }
|
||||||
|
private static final class ArchiveBreadcrumbError extends Error { }
|
||||||
|
private static final class PopupBreadcrumbError extends Error { }
|
||||||
|
private static final class GroupCreateBreadcrumbError extends Error { }
|
||||||
|
private static final class NotifierBreadcrumbError extends Error { }
|
||||||
|
private static final class NewConversationBreadcrumbError extends Error { }
|
||||||
|
private static final class NotificationStateBreadcrumbError extends Error { }
|
||||||
|
private static final class SmsSendToBreadcrumbError extends Error { }
|
||||||
|
private static final class NullBreadcrumbError extends Error { }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1072,7 +1072,7 @@ public class ConversationFragment extends Fragment
|
||||||
if (getContext() == null) return;
|
if (getContext() == null) return;
|
||||||
|
|
||||||
ContactUtil.selectRecipientThroughDialog(getContext(), choices, locale, recipient -> {
|
ContactUtil.selectRecipientThroughDialog(getContext(), choices, locale, recipient -> {
|
||||||
CommunicationActions.startConversation(getContext(), recipient, null);
|
CommunicationActions.startConversation(getContext(), recipient, null, ConversationActivity.Breadcrumb.SHARED_CONTACT);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@ public class ConversationPopupActivity extends ConversationActivity {
|
||||||
ActivityOptionsCompat transition = ActivityOptionsCompat.makeScaleUpAnimation(getWindow().getDecorView(), 0, 0, getWindow().getAttributes().width, getWindow().getAttributes().height);
|
ActivityOptionsCompat transition = ActivityOptionsCompat.makeScaleUpAnimation(getWindow().getDecorView(), 0, 0, getWindow().getAttributes().width, getWindow().getAttributes().height);
|
||||||
Intent intent = new Intent(ConversationPopupActivity.this, ConversationActivity.class);
|
Intent intent = new Intent(ConversationPopupActivity.this, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, getRecipient().getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, getRecipient().getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.POPUP);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, result);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, result);
|
||||||
|
|
||||||
startActivity(intent, transition.toBundle());
|
startActivity(intent, transition.toBundle());
|
||||||
|
|
|
@ -111,6 +111,7 @@ public class MessageNotifier {
|
||||||
} else {
|
} else {
|
||||||
Intent intent = new Intent(context, ConversationActivity.class);
|
Intent intent = new Intent(context, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.NOTIFIER);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.setData((Uri.parse("custom://" + System.currentTimeMillis())));
|
intent.setData((Uri.parse("custom://" + System.currentTimeMillis())));
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,7 @@ public class NotificationItem {
|
||||||
Recipient notifyRecipients = threadRecipient != null ? threadRecipient : conversationRecipient;
|
Recipient notifyRecipients = threadRecipient != null ? threadRecipient : conversationRecipient;
|
||||||
|
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, notifyRecipients.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, notifyRecipients.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.NOTIFICATION);
|
||||||
intent.putExtra("thread_id", threadId);
|
intent.putExtra("thread_id", threadId);
|
||||||
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
|
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
|
||||||
|
|
||||||
|
|
|
@ -169,6 +169,7 @@ public class NotificationState {
|
||||||
|
|
||||||
Intent intent = new Intent(context, ConversationPopupActivity.class);
|
Intent intent = new Intent(context, ConversationPopupActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.NOTIFICATION_STATE);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, (long)threads.toArray()[0]);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, (long)threads.toArray()[0]);
|
||||||
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
|
intent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
|
||||||
|
|
||||||
|
|
|
@ -137,6 +137,7 @@ public class SearchFragment extends Fragment implements SearchListAdapter.EventL
|
||||||
public void onContactClicked(@NonNull Recipient contact) {
|
public void onContactClicked(@NonNull Recipient contact) {
|
||||||
Intent intent = new Intent(getContext(), ConversationActivity.class);
|
Intent intent = new Intent(getContext(), ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, contact.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, contact.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, ConversationActivity.Breadcrumb.SEARCH);
|
||||||
|
|
||||||
long existingThread = DatabaseFactory.getThreadDatabase(getContext()).getThreadIdIfExistsFor(contact);
|
long existingThread = DatabaseFactory.getThreadDatabase(getContext()).getThreadIdIfExistsFor(contact);
|
||||||
|
|
||||||
|
|
|
@ -53,13 +53,14 @@ public class CommunicationActions {
|
||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startConversation(@NonNull Context context, @NonNull Recipient recipient, @Nullable String text) {
|
public static void startConversation(@NonNull Context context, @NonNull Recipient recipient, @Nullable String text, @NonNull String breadcrumb) {
|
||||||
startConversation(context, recipient, text, null);
|
startConversation(context, recipient, text, breadcrumb, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startConversation(@NonNull Context context,
|
public static void startConversation(@NonNull Context context,
|
||||||
@NonNull Recipient recipient,
|
@NonNull Recipient recipient,
|
||||||
@Nullable String text,
|
@Nullable String text,
|
||||||
|
@NonNull String breadcrumb,
|
||||||
@Nullable TaskStackBuilder backStack)
|
@Nullable TaskStackBuilder backStack)
|
||||||
{
|
{
|
||||||
new AsyncTask<Void, Void, Long>() {
|
new AsyncTask<Void, Void, Long>() {
|
||||||
|
@ -72,6 +73,7 @@ public class CommunicationActions {
|
||||||
protected void onPostExecute(Long threadId) {
|
protected void onPostExecute(Long threadId) {
|
||||||
Intent intent = new Intent(context, ConversationActivity.class);
|
Intent intent = new Intent(context, ConversationActivity.class);
|
||||||
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
intent.putExtra(ConversationActivity.RECIPIENT_EXTRA, recipient.getId());
|
||||||
|
intent.putExtra(ConversationActivity.BREADCRUMB_EXTRA, breadcrumb);
|
||||||
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
intent.putExtra(ConversationActivity.THREAD_ID_EXTRA, threadId);
|
||||||
intent.putExtra(ConversationActivity.TIMING_EXTRA, System.currentTimeMillis());
|
intent.putExtra(ConversationActivity.TIMING_EXTRA, System.currentTimeMillis());
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue