Skip to content

Commit

Permalink
Add coroutine demo code
Browse files Browse the repository at this point in the history
  • Loading branch information
ParkSangGwon committed Aug 22, 2021
1 parent 72f80b0 commit 46fc649
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 16 deletions.
5 changes: 5 additions & 0 deletions app/build.gradle
@@ -1,4 +1,6 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion versions.compileSdkVersion
Expand Down Expand Up @@ -37,8 +39,11 @@ dependencies {
implementation project(':tedpermission-normal')
implementation project(':tedpermission-rx2')
implementation project(':tedpermission-rx3')
implementation project(':tedpermission-coroutine')

implementation deps.androidx.appcompat
implementation deps.rx.rxJava2
implementation deps.rx.rxJava3
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.3.1"
}
26 changes: 13 additions & 13 deletions app/src/main/AndroidManifest.xml
@@ -1,30 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.gun0912.tedpermissiondemo"
xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gun0912.tedpermissiondemo">

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".RxJava3Activity"/>
<activity android:name=".RxJava2Activity"/>
<activity android:name=".NormalActivity"/>
<activity android:name=".WindowPermissionActivity"/>
<activity android:name=".RxJava3Activity" />
<activity android:name=".RxJava2Activity" />
<activity android:name=".NormalActivity" />
<activity android:name=".CoroutineActivity" />
<activity android:name=".WindowPermissionActivity" />


</application>
Expand Down
@@ -0,0 +1,36 @@
package com.gun0912.tedpermissiondemo

import android.Manifest
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import com.gun0912.tedpermission.coroutine.TedPermission
import kotlinx.coroutines.launch


class CoroutineActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

lifecycleScope.launch {

val permissionResult = TedPermission.create()
.setRationaleTitle(R.string.rationale_title)
.setRationaleMessage(R.string.rationale_message)
.setDeniedTitle("Permission denied")
.setDeniedMessage(
"If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]"
)
.setGotoSettingButtonText("bla bla")
.setPermissions(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_FINE_LOCATION
)
.check()

Log.d("ted", "permissionResult: $permissionResult")
}
}
}
Expand Up @@ -24,6 +24,7 @@ protected void onCreate(Bundle savedInstanceState) {
findViewById(R.id.btn_normal).setOnClickListener(this);
findViewById(R.id.btn_rxjava2).setOnClickListener(this);
findViewById(R.id.btn_rxjava3).setOnClickListener(this);
findViewById(R.id.btn_coroutine).setOnClickListener(this);
findViewById(R.id.btn_windowPermission).setOnClickListener(this);

boolean isGranted = TedPermission.isGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION);
Expand Down Expand Up @@ -51,6 +52,10 @@ public void onClick(View view) {
intent = new Intent(this, RxJava3Activity.class);
break;

case R.id.btn_coroutine:
intent = new Intent(this, CoroutineActivity.class);
break;

case R.id.btn_windowPermission:
intent = new Intent(this, WindowPermissionActivity.class);
break;
Expand Down
8 changes: 7 additions & 1 deletion app/src/main/res/layout/activity_main.xml
Expand Up @@ -23,7 +23,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RxJava3" />


<Button
android:id="@+id/btn_coroutine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Coroutine" />

<Button
android:id="@+id/btn_windowPermission"
android:layout_width="wrap_content"
Expand Down
3 changes: 2 additions & 1 deletion build.gradle
@@ -1,6 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
apply from: 'dependencies.gradle'
repositories {
google()
mavenCentral()
Expand All @@ -9,12 +10,12 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:4.1.3'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.16.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

apply from: 'dependencies.gradle'
}


Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
@@ -1 +1 @@
include ':app', ':tedpermission', ':tedpermission-normal', ':tedpermission-rx2', ':tedpermission-rx3'
include ':app', ':tedpermission', ':tedpermission-normal', ':tedpermission-rx2', ':tedpermission-rx3', ':tedpermission-coroutine'

0 comments on commit 46fc649

Please sign in to comment.