Revision 5debefcb
| app/src/org/storymaker/app/BaseActivity.java | ||
|---|---|---|
| 1 | 1 |
package org.storymaker.app; |
| 2 | 2 |
|
| 3 |
import android.Manifest; |
|
| 3 | 4 |
import android.app.Activity; |
| 4 | 5 |
import android.app.Notification; |
| 5 | 6 |
import android.content.Context; |
| ... | ... | |
| 14 | 15 |
import android.os.Bundle; |
| 15 | 16 |
import android.preference.PreferenceManager; |
| 16 | 17 |
import android.support.v4.app.ActionBarDrawerToggle; |
| 18 |
import android.support.v4.app.ActivityCompat; |
|
| 17 | 19 |
import android.support.v4.app.FragmentActivity; |
| 18 | 20 |
import android.support.v4.app.NotificationCompat; |
| 19 | 21 |
import android.support.v4.widget.DrawerLayout; |
| ... | ... | |
| 35 | 37 |
|
| 36 | 38 |
import java.io.IOException; |
| 37 | 39 |
import java.io.InputStream; |
| 40 |
import java.util.ArrayList; |
|
| 38 | 41 |
|
| 39 | 42 |
import info.guardianproject.cacheword.CacheWordHandler; |
| 40 | 43 |
import info.guardianproject.cacheword.ICacheWordSubscriber; |
| ... | ... | |
| 428 | 431 |
if (mDrawerOpen) mDrawerLayout.closeDrawer(mDrawerContainer); |
| 429 | 432 |
else mDrawerLayout.openDrawer(mDrawerContainer); |
| 430 | 433 |
} |
| 434 |
|
|
| 435 |
// force permissions we require |
|
| 436 |
protected void checkAndEnforcePermissions() {
|
|
| 437 |
ArrayList<String> perms = new ArrayList<>(); |
|
| 438 |
|
|
| 439 |
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
| 440 |
perms.add(Manifest.permission.READ_EXTERNAL_STORAGE); |
|
| 441 |
} |
|
| 442 |
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
| 443 |
perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); |
|
| 444 |
} |
|
| 445 |
if (perms.size() > 0) {
|
|
| 446 |
ActivityCompat.requestPermissions(this, perms.toArray(new String[0]), Constants.PERMS_REQ_ALL); |
|
| 447 |
} |
|
| 448 |
} |
|
| 431 | 449 |
} |
| app/src/org/storymaker/app/BaseHomeActivity.java | ||
|---|---|---|
| 1 | 1 |
package org.storymaker.app; |
| 2 | 2 |
|
| 3 |
import android.Manifest; |
|
| 3 | 4 |
import android.app.AlertDialog; |
| 4 | 5 |
import android.app.ProgressDialog; |
| 5 | 6 |
import android.content.ComponentName; |
| ... | ... | |
| 12 | 13 |
import android.os.AsyncTask; |
| 13 | 14 |
import android.os.Bundle; |
| 14 | 15 |
import android.preference.PreferenceManager; |
| 16 |
import android.support.v4.app.ActivityCompat; |
|
| 15 | 17 |
import android.support.v4.view.ViewPager; |
| 16 | 18 |
import android.support.v7.widget.RecyclerView; |
| 17 | 19 |
import android.util.Log; |
| ... | ... | |
| 814 | 816 |
showLauncherIcon(); |
| 815 | 817 |
} |
| 816 | 818 |
} |
| 819 |
|
|
| 820 |
checkAndEnforcePermissions(); // FIXME we should handle these at time of use instead of like this |
|
| 817 | 821 |
} |
| 818 | 822 |
|
| 819 | 823 |
protected void showSPLSelectorPopup(final String[] names, final String[] paths) {
|
| app/src/org/storymaker/app/Constants.java | ||
|---|---|---|
| 18 | 18 |
public static final String PREFS_APP_TITLE = "PREFS_APP_TITLE"; |
| 19 | 19 |
|
| 20 | 20 |
public static final int APP_MIGRATION_VERSION = 1; |
| 21 |
|
|
| 22 |
public static final int PERMS_REQ_ALL = 1; |
|
| 23 |
public static final int PERMS_REQ_READ_EXTERNAL_STORAGE = 2; |
|
| 24 |
public static final int PERMS_REQ_WRITE_EXTERNAL_STORAGE = 3; |
|
| 21 | 25 |
} |
Also available in: Unified diff