add quick log functionality to debug UP
This commit is contained in:
parent
f8e420ad37
commit
eb5994f80f
|
@ -41,6 +41,8 @@ public final class Config {
|
|||
|
||||
public static final String LOGTAG = BuildConfig.APP_NAME.toLowerCase(Locale.US);
|
||||
|
||||
public static final boolean QUICK_LOG = false;
|
||||
|
||||
public static final Jid BUG_REPORTS = Jid.of("bugs@conversations.im");
|
||||
public static final Uri HELP = Uri.parse("https://help.conversations.im");
|
||||
|
||||
|
|
|
@ -112,6 +112,7 @@ public class UnifiedPushBroker {
|
|||
Log.d(
|
||||
Config.LOGTAG,
|
||||
account.getJid().asBareJid() + ": try to renew UnifiedPush " + renewal);
|
||||
UnifiedPushDistributor.quickLog(service,String.format("%s: try to renew UnifiedPush %s", account.getJid(), renewal.toString()));
|
||||
final String hashedApplication =
|
||||
UnifiedPushDistributor.hash(account.getUuid(), renewal.application);
|
||||
final String hashedInstance =
|
||||
|
@ -186,7 +187,16 @@ public class UnifiedPushBroker {
|
|||
+ renewal.instance
|
||||
+ " was updated to "
|
||||
+ endpoint);
|
||||
final UnifiedPushDatabase.ApplicationEndpoint applicationEndpoint = new UnifiedPushDatabase.ApplicationEndpoint(renewal.application, endpoint);
|
||||
UnifiedPushDistributor.quickLog(
|
||||
service,
|
||||
"endpoint for "
|
||||
+ renewal.application
|
||||
+ "/"
|
||||
+ renewal.instance
|
||||
+ " was updated to "
|
||||
+ endpoint);
|
||||
final UnifiedPushDatabase.ApplicationEndpoint applicationEndpoint =
|
||||
new UnifiedPushDatabase.ApplicationEndpoint(renewal.application, endpoint);
|
||||
sendEndpoint(messenger, renewal.instance, applicationEndpoint);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
|
|||
Log.d(
|
||||
Config.LOGTAG,
|
||||
"successfully created UnifiedPush entry. waking up XmppConnectionService");
|
||||
quickLog(context, String.format("successfully registered %s (token = %s) for UnifiedPushed", application, instance));
|
||||
final Intent serviceIntent = new Intent(context, XmppConnectionService.class);
|
||||
serviceIntent.setAction(XmppConnectionService.ACTION_RENEW_UNIFIED_PUSH_ENDPOINTS);
|
||||
serviceIntent.putExtra("instance", instance);
|
||||
|
@ -141,6 +142,7 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
|
|||
}
|
||||
final UnifiedPushDatabase unifiedPushDatabase = UnifiedPushDatabase.getInstance(context);
|
||||
if (unifiedPushDatabase.deleteInstance(instance)) {
|
||||
quickLog(context, String.format("successfully unregistered token %s from UnifiedPushed (application requested unregister)", instance));
|
||||
Log.d(Config.LOGTAG, "successfully removed " + instance + " from UnifiedPush");
|
||||
}
|
||||
}
|
||||
|
@ -154,6 +156,7 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
|
|||
Log.d(Config.LOGTAG, "app " + application + " has been removed from the system");
|
||||
final UnifiedPushDatabase database = UnifiedPushDatabase.getInstance(context);
|
||||
if (database.deleteApplication(application)) {
|
||||
quickLog(context, String.format("successfully removed %s from UnifiedPushed (ACTION_PACKAGE_FULLY_REMOVED)", application));
|
||||
Log.d(Config.LOGTAG, "successfully removed " + application + " from UnifiedPush");
|
||||
}
|
||||
}
|
||||
|
@ -166,4 +169,11 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
|
|||
.hashString(Joiner.on('\0').join(components), Charsets.UTF_8)
|
||||
.asBytes());
|
||||
}
|
||||
|
||||
public static void quickLog(final Context context, final String message) {
|
||||
final Intent intent = new Intent(context, XmppConnectionService.class);
|
||||
intent.setAction(XmppConnectionService.ACTION_QUICK_LOG);
|
||||
intent.putExtra("message", message);
|
||||
context.startService(intent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -133,6 +133,7 @@ import eu.siacs.conversations.ui.UiCallback;
|
|||
import eu.siacs.conversations.ui.interfaces.OnAvatarPublication;
|
||||
import eu.siacs.conversations.ui.interfaces.OnMediaLoaded;
|
||||
import eu.siacs.conversations.ui.interfaces.OnSearchResultsAvailable;
|
||||
import eu.siacs.conversations.utils.AccountUtils;
|
||||
import eu.siacs.conversations.utils.Compatibility;
|
||||
import eu.siacs.conversations.utils.ConversationsFileObserver;
|
||||
import eu.siacs.conversations.utils.CryptoHelper;
|
||||
|
@ -199,6 +200,7 @@ public class XmppConnectionService extends Service {
|
|||
public static final String ACTION_PROVISION_ACCOUNT = "provision_account";
|
||||
private static final String ACTION_POST_CONNECTIVITY_CHANGE = "eu.siacs.conversations.POST_CONNECTIVITY_CHANGE";
|
||||
public static final String ACTION_RENEW_UNIFIED_PUSH_ENDPOINTS = "eu.siacs.conversations.UNIFIED_PUSH_RENEW";
|
||||
public static final String ACTION_QUICK_LOG = "eu.siacs.conversations.QUICK_LOG";
|
||||
|
||||
private static final String SETTING_LAST_ACTIVITY_TS = "last_activity_timestamp";
|
||||
|
||||
|
@ -864,6 +866,12 @@ public class XmppConnectionService extends Service {
|
|||
case ACTION_FCM_MESSAGE_RECEIVED:
|
||||
Log.d(Config.LOGTAG, "push message arrived in service. account");
|
||||
break;
|
||||
case ACTION_QUICK_LOG:
|
||||
final String message = intent == null ? null : intent.getStringExtra("message");
|
||||
if (message != null && Config.QUICK_LOG) {
|
||||
quickLog(message);
|
||||
}
|
||||
break;
|
||||
case Intent.ACTION_SEND:
|
||||
final Uri uri = intent == null ? null : intent.getData();
|
||||
if (uri != null) {
|
||||
|
@ -884,6 +892,23 @@ public class XmppConnectionService extends Service {
|
|||
return START_STICKY;
|
||||
}
|
||||
|
||||
private void quickLog(final String message) {
|
||||
if (Strings.isNullOrEmpty(message)) {
|
||||
return;
|
||||
}
|
||||
final Account account = AccountUtils.getFirstEnabled(this);
|
||||
if (account == null) {
|
||||
return;
|
||||
}
|
||||
final Conversation conversation =
|
||||
findOrCreateConversation(account, Config.BUG_REPORTS, false, true);
|
||||
final Message report = new Message(conversation, message, Message.ENCRYPTION_NONE);
|
||||
report.setStatus(Message.STATUS_RECEIVED);
|
||||
conversation.add(report);
|
||||
databaseBackend.createMessage(report);
|
||||
updateConversationUi();
|
||||
}
|
||||
|
||||
private void manageAccountConnectionStatesInternal() {
|
||||
manageAccountConnectionStates(ACTION_INTERNAL_PING, null);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue