Skip to content

Commit

Permalink
Fixed permission dialog behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
feelfreelinux committed Aug 1, 2018
1 parent 1161389 commit ebcf0ae
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 24 deletions.
1 change: 1 addition & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ dependencies {
kapt "com.google.dagger:dagger-android-processor:2.16"
implementation 'com.google.dagger:dagger-android:2.16'
implementation 'com.google.dagger:dagger-android-support:2.16'
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
provided 'org.glassfish:javax.annotation:10.0-b28'

// Glide
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import android.widget.Toast
import androidx.core.content.ContextCompat
import com.r0adkll.slidr.Slidr
import com.r0adkll.slidr.model.SlidrConfig
import com.tbruyelle.rxpermissions2.RxPermissions
import dagger.android.support.DaggerAppCompatActivity
import io.github.feelfreelinux.wykopmobilny.R
import io.github.feelfreelinux.wykopmobilny.ui.dialogs.showExceptionDialog
Expand All @@ -22,6 +23,7 @@ import io.github.feelfreelinux.wykopmobilny.utils.preferences.SettingsPreference
// This class should be extended in all activities in this app. Place global-activity settings here
abstract class BaseActivity : DaggerAppCompatActivity() {
lateinit var swipeBackHandler : SwipeBackActivityHelper
lateinit var rxPermissions: RxPermissions
open val enableSwipeBackLayout : Boolean = false
open val isActivityTransfluent : Boolean = false
public var isRunning = false
Expand All @@ -45,6 +47,7 @@ abstract class BaseActivity : DaggerAppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
initTheme()
super.onCreate(savedInstanceState)
rxPermissions = RxPermissions(this)
if (enableSwipeBackLayout) {
Slidr.attach(this,
SlidrConfig.Builder().edge(true).build())
Expand Down Expand Up @@ -86,16 +89,4 @@ abstract class BaseActivity : DaggerAppCompatActivity() {

}
}

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == MarkdownToolbar.REQUEST_EXTERNAL_STORAGE) {
if (permissions.contains(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
if (grantResults[0] == PackageManager.PERMISSION_DENIED) {
Toast.makeText(this, "Aplikacja wymaga uprawnień zapisu do pamięci aby wysyłać zdjęcia.", Toast.LENGTH_LONG).show()
}
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ import android.net.Uri
import android.util.AttributeSet
import android.view.View
import android.widget.LinearLayout
import android.widget.Toast
import androidx.core.app.ActivityCompat
import io.github.feelfreelinux.wykopmobilny.R
import io.github.feelfreelinux.wykopmobilny.api.WykopImageFile
import io.github.feelfreelinux.wykopmobilny.base.BaseActivity
import io.github.feelfreelinux.wykopmobilny.ui.dialogs.EditTextFormatDialog
import io.github.feelfreelinux.wykopmobilny.ui.dialogs.formatDialogCallback
import io.github.feelfreelinux.wykopmobilny.ui.widgets.FloatingImageView
Expand Down Expand Up @@ -87,16 +89,6 @@ class MarkdownToolbar : LinearLayout {
init {
View.inflate(context, R.layout.markdown_toolbar, this)

val activity = getActivityContext()
activity?.let {
if (ActivityCompat.checkSelfPermission(activity,
android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_EXTERNAL_STORAGE)

}
}

// Create callbacks
markdownDialogs.apply {
format_bold.setOnClickListener { insertFormat("**", "**") }
Expand All @@ -106,7 +98,22 @@ class MarkdownToolbar : LinearLayout {
insert_code.setOnClickListener { insertFormat("`", "`") }
insert_spoiler.setOnClickListener { insertFormat("\n!", "") }
insert_emoticon.setOnClickListener { showLennyfaceDialog(formatText) }
insert_photo.setOnClickListener { showUploadPhotoBottomsheet() }
insert_photo.setOnClickListener {
val activity = getActivityContext() as? BaseActivity
activity?.let {
if (!activity.rxPermissions.isGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
activity.rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe {
if (it) {
showUploadPhotoBottomsheet()
} else {
Toast.makeText(activity, "Aplikacja wymaga uprawnień zapisu do pamięci aby wysyłać zdjęcia.", Toast.LENGTH_LONG).show()
}
}
} else {
showUploadPhotoBottomsheet()
}
}
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ allprojects {
versionMajor = 0
versionMinor = 9
versionPatch = 5
versionBuild = 0
versionBuild = 1
}
}

Expand Down

0 comments on commit ebcf0ae

Please sign in to comment.