正在查看: Plus 12 v10.13.1.1 应用的 VoIPPermissionActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Plus 12 v10.13.1.1 应用的 VoIPPermissionActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.ui;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import java.util.ArrayList;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.voip.VoIPService;
import org.telegram.tgnet.TLRPC;
import org.telegram.ui.Components.voip.VoIPHelper;
@TargetApi(23)
public class VoIPPermissionActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
TLRPC.PhoneCall phoneCall;
super.onCreate(savedInstanceState);
VoIPService sharedInstance = VoIPService.getSharedInstance();
boolean z = (sharedInstance == null || (phoneCall = sharedInstance.privateCall) == null || !phoneCall.video) ? false : true;
ArrayList arrayList = new ArrayList();
if (checkSelfPermission("android.permission.RECORD_AUDIO") != 0) {
arrayList.add("android.permission.RECORD_AUDIO");
}
if (z && checkSelfPermission("android.permission.CAMERA") != 0) {
arrayList.add("android.permission.CAMERA");
}
if (arrayList.isEmpty()) {
return;
}
try {
requestPermissions((String[]) arrayList.toArray(new String[0]), z ? 102 : 101);
} catch (Exception e) {
FileLog.e(e);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == 101 || requestCode == 102) {
boolean z = false;
int i = 0;
while (true) {
if (i >= grantResults.length) {
z = true;
break;
} else if (grantResults[i] != 0) {
break;
} else {
i++;
}
}
if (grantResults.length > 0 && z) {
if (VoIPService.getSharedInstance() != null) {
VoIPService.getSharedInstance().acceptIncomingCall();
}
finish();
startActivity(new Intent(this, (Class<?>) LaunchActivity.class).setAction("voip"));
return;
}
if (!shouldShowRequestPermissionRationale("android.permission.RECORD_AUDIO")) {
if (VoIPService.getSharedInstance() != null) {
VoIPService.getSharedInstance().declineIncomingCall();
}
VoIPHelper.permissionDenied(this, new Runnable() {
@Override
public final void run() {
VoIPPermissionActivity.this.finish();
}
}, requestCode);
return;
}
finish();
}
}
}