mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-22 13:09:46 +01:00
Improve asking for permissions
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
26c7a3455a
commit
76571ff16f
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
package com.nextcloud.talk.controllers;
|
package com.nextcloud.talk.controllers;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.app.SearchManager;
|
import android.app.SearchManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -82,6 +83,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
|||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.disposables.Disposable;
|
||||||
import io.reactivex.schedulers.Schedulers;
|
import io.reactivex.schedulers.Schedulers;
|
||||||
import retrofit2.HttpException;
|
import retrofit2.HttpException;
|
||||||
|
import ru.alexbykov.nopermission.PermissionHelper;
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication.class)
|
@AutoInjector(NextcloudTalkApplication.class)
|
||||||
public class CallsListController extends BaseController implements SearchView.OnQueryTextListener,
|
public class CallsListController extends BaseController implements SearchView.OnQueryTextListener,
|
||||||
@ -388,6 +390,12 @@ public class CallsListController extends BaseController implements SearchView.On
|
|||||||
@Override
|
@Override
|
||||||
public boolean onItemClick(int position) {
|
public boolean onItemClick(int position) {
|
||||||
if (callItems.size() > position) {
|
if (callItems.size() > position) {
|
||||||
|
|
||||||
|
PermissionHelper permissionHelper = new PermissionHelper(getActivity());
|
||||||
|
permissionHelper.check(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
|
||||||
|
.onSuccess(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
overridePushHandler(new NoOpControllerChangeHandler());
|
overridePushHandler(new NoOpControllerChangeHandler());
|
||||||
overridePopHandler(new NoOpControllerChangeHandler());
|
overridePopHandler(new NoOpControllerChangeHandler());
|
||||||
CallItem callItem = callItems.get(position);
|
CallItem callItem = callItems.get(position);
|
||||||
@ -398,6 +406,14 @@ public class CallsListController extends BaseController implements SearchView.On
|
|||||||
callIntent.putExtras(bundleBuilder.build());
|
callIntent.putExtras(bundleBuilder.build());
|
||||||
startActivity(callIntent);
|
startActivity(callIntent);
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.onDenied(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.run();
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
package com.nextcloud.talk.controllers;
|
package com.nextcloud.talk.controllers;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.app.SearchManager;
|
import android.app.SearchManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -85,6 +86,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
|||||||
import io.reactivex.disposables.Disposable;
|
import io.reactivex.disposables.Disposable;
|
||||||
import io.reactivex.schedulers.Schedulers;
|
import io.reactivex.schedulers.Schedulers;
|
||||||
import retrofit2.HttpException;
|
import retrofit2.HttpException;
|
||||||
|
import ru.alexbykov.nopermission.PermissionHelper;
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication.class)
|
@AutoInjector(NextcloudTalkApplication.class)
|
||||||
public class ContactsController extends BaseController implements SearchView.OnQueryTextListener,
|
public class ContactsController extends BaseController implements SearchView.OnQueryTextListener,
|
||||||
@ -455,6 +457,11 @@ public class ContactsController extends BaseController implements SearchView.OnQ
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(RoomOverall roomOverall) {
|
public void onNext(RoomOverall roomOverall) {
|
||||||
|
PermissionHelper permissionHelper = new PermissionHelper(getActivity());
|
||||||
|
permissionHelper.check(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
|
||||||
|
.onSuccess(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
overridePushHandler(new NoOpControllerChangeHandler());
|
overridePushHandler(new NoOpControllerChangeHandler());
|
||||||
overridePopHandler(new NoOpControllerChangeHandler());
|
overridePopHandler(new NoOpControllerChangeHandler());
|
||||||
Intent callIntent = new Intent(getActivity(), CallActivity.class);
|
Intent callIntent = new Intent(getActivity(), CallActivity.class);
|
||||||
@ -464,6 +471,14 @@ public class ContactsController extends BaseController implements SearchView.OnQ
|
|||||||
callIntent.putExtras(bundleBuilder.build());
|
callIntent.putExtras(bundleBuilder.build());
|
||||||
startActivity(callIntent);
|
startActivity(callIntent);
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.onDenied(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.run();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable e) {
|
public void onError(Throwable e) {
|
||||||
|
Loading…
Reference in New Issue
Block a user