diff --git a/app/build.gradle b/app/build.gradle index 8a8d3f327..6d371341e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -138,7 +138,7 @@ dependencies { implementation 'com.yarolegovich:lovelyinput:1.0.2' implementation 'com.yarolegovich:mp:1.0.8' - compile 'gun0912.ted:tedpermission:2.0.3' + compile 'ru.alexbykov:nopermission:1.1.1' testImplementation 'junit:junit:4.12' androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.1', { diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 67fe5ad34..0609555c3 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -33,8 +33,6 @@ import android.view.View; import android.view.Window; import android.view.WindowManager; -import com.gun0912.tedpermission.PermissionListener; -import com.gun0912.tedpermission.TedPermission; import com.nextcloud.talk.R; import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.webrtc.MagicPeerConnectionObserver; @@ -64,6 +62,7 @@ import java.util.List; import autodagger.AutoInjector; import butterknife.BindView; import butterknife.ButterKnife; +import ru.alexbykov.nopermission.PermissionHelper; @AutoInjector(NextcloudTalkApplication.class) public class CallActivity extends AppCompatActivity { @@ -111,34 +110,28 @@ public class CallActivity extends AppCompatActivity { roomToken = getIntent().getExtras().getString("roomToken", ""); userDisplayName = getIntent().getExtras().getString("userDisplayName", ""); - - PermissionListener permissionlistener = new PermissionListener() { - @Override - public void onPermissionGranted() { - start(); - call(); - } - - @Override - public void onPermissionDenied(ArrayList deniedPermissions) { - } - }; - initViews(); - TedPermission.with(this) - .setPermissionListener(permissionlistener) - .setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]") - .setPermissions(android.Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, - Manifest.permission.MODIFY_AUDIO_SETTINGS, Manifest.permission.ACCESS_NETWORK_STATE, - Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.INTERNET) - .check(); + PermissionHelper permissionHelper = new PermissionHelper(this); + permissionHelper.check(android.Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO, + Manifest.permission.MODIFY_AUDIO_SETTINGS, Manifest.permission.ACCESS_NETWORK_STATE, + Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.INTERNET) + .onSuccess(() -> { + start(); + call(); + }) + .onDenied(new Runnable() { + @Override + public void run() { + // do nothing + } + }) + .run(); } - private VideoCapturer createVideoCapturer() { videoCapturer = createCameraCapturer(new Camera1Enumerator(false)); return videoCapturer;