mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 05:13:53 +01:00
This commit is contained in:
parent
ce8d10ea8f
commit
b4bfc6c5a3
4 changed files with 30 additions and 4 deletions
|
|
@ -1,9 +1,13 @@
|
|||
package fr.free.nrw.commons.contributions;
|
||||
|
||||
import android.Manifest.permission;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build.VERSION;
|
||||
import android.os.Build.VERSION_CODES;
|
||||
import android.os.Bundle;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
|
@ -42,6 +46,7 @@ import fr.free.nrw.commons.quiz.QuizChecker;
|
|||
import fr.free.nrw.commons.settings.SettingsFragment;
|
||||
import fr.free.nrw.commons.theme.BaseActivity;
|
||||
import fr.free.nrw.commons.upload.worker.UploadWorker;
|
||||
import fr.free.nrw.commons.utils.PermissionUtils;
|
||||
import fr.free.nrw.commons.utils.ViewUtilWrapper;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
|
@ -138,15 +143,31 @@ public class MainActivity extends BaseActivity
|
|||
|
||||
private void setUpPager() {
|
||||
tabLayout.setOnNavigationItemSelectedListener(item -> {
|
||||
if (VERSION.SDK_INT >= VERSION_CODES.M) {
|
||||
if (item.getTitle().equals(getString(R.string.nearby_fragment))
|
||||
&& checkSelfPermission(permission.READ_PHONE_STATE)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
requestPhoneStatePermission(() -> {
|
||||
tabLayout.setSelectedItemId(NavTab.NEARBY.code());
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!item.getTitle().equals(getString(R.string.more))) {
|
||||
// do not change title for more fragment
|
||||
setTitle(item.getTitle());
|
||||
}
|
||||
Fragment fragment = NavTab.of(item.getOrder()).newInstance();
|
||||
return loadFragment(fragment,true);
|
||||
return loadFragment(fragment, true);
|
||||
});
|
||||
}
|
||||
|
||||
private void requestPhoneStatePermission(final Runnable runnable) {
|
||||
PermissionUtils.checkPermissionsAndPerformAction(this,
|
||||
android.Manifest.permission.READ_PHONE_STATE, (Runnable) runnable::run, (Runnable) () -> {
|
||||
}, R.string.need_permission, R.string.read_phone_state_permission_message);
|
||||
}
|
||||
|
||||
private void setUpLoggedOutPager() {
|
||||
loadFragment(ExploreFragment.newInstance(),false);
|
||||
tabLayout.setOnNavigationItemSelectedListener(item -> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue