正在查看: Delta Chat v1.58.3 应用的 IPCAddAccountsService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Delta Chat v1.58.3 应用的 IPCAddAccountsService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.thoughtcrime.securesms.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.Messenger;
import android.util.Log;
import com.b44t.messenger.DcAccounts;
import java.lang.ref.WeakReference;
import org.thoughtcrime.securesms.ConversationListActivity;
import org.thoughtcrime.securesms.RegistrationActivity;
import org.thoughtcrime.securesms.connect.AccountManager;
import org.thoughtcrime.securesms.connect.DcHelper;
public class IPCAddAccountsService extends Service {
public static final String ACCOUNT_DATA = "ACCOUNT_DATA";
public static final int ADD_ACCOUNT = 1;
private static final String TAG = "IPCAddAccountsService";
private final Messenger messenger = new Messenger(new IncomingHandler(this));
@Override
public int onStartCommand(Intent intent, int i, int i2) {
return 2;
}
private static class IncomingHandler extends Handler {
final WeakReference<Context> contextRef;
public IncomingHandler(Context context) {
this.contextRef = new WeakReference<>(context);
}
@Override
public void handleMessage(Message message) {
Bundle data = message.getData();
Context context = this.contextRef.get();
if (data == null || context == null || message.what != 1) {
return;
}
String string = data.getString(DcHelper.CONFIG_ADDRESS);
Log.d(IPCAddAccountsService.TAG, "ADD ACCOUNT called for account: " + string);
DcAccounts accounts = DcHelper.getAccounts(context);
for (int i : accounts.getAll()) {
if (accounts.getAccount(i).getConfig(DcHelper.CONFIG_CONFIGURED_ADDRESS).equals(string)) {
Log.d(IPCAddAccountsService.TAG, string + " already exists. Switching account.");
AccountManager.getInstance().switchAccount(context, i);
Intent intent = new Intent(context, (Class<?>) ConversationListActivity.class);
intent.addFlags(268468224);
context.startActivity(intent);
return;
}
}
AccountManager.getInstance().beginAccountCreation(context);
Intent intent2 = new Intent(context, (Class<?>) RegistrationActivity.class);
intent2.putExtra(IPCAddAccountsService.ACCOUNT_DATA, data);
intent2.addFlags(268468224);
context.startActivity(intent2);
}
}
@Override
public IBinder onBind(Intent intent) {
return this.messenger.getBinder();
}
}