Skip to content

Commit

Permalink
转化kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
zhen51.wang committed Nov 18, 2021
1 parent 8bdd9b6 commit 914817f
Show file tree
Hide file tree
Showing 12 changed files with 294 additions and 290 deletions.
3 changes: 2 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
compileSdkVersion 31
Expand All @@ -17,7 +18,7 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
Expand Down
129 changes: 67 additions & 62 deletions app/src/main/java/com/wangzhen/permission/sample/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -1,83 +1,88 @@
package com.wangzhen.permission.sample;
package com.wangzhen.permission.sample

import android.Manifest;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import android.Manifest
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.wangzhen.permission.PermissionManager.request
import com.wangzhen.permission.callback.AbsPermissionCallback

import androidx.appcompat.app.AppCompatActivity;

import com.wangzhen.permission.PermissionManager;
import com.wangzhen.permission.callback.AbsPermissionCallback;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addFragment();
/**
* MainActivity
* Created by wangzhen on 2021/11/18.
*/
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
addFragment()
}

private void addFragment() {
getSupportFragmentManager().beginTransaction().add(R.id.container, new SampleFragment()).commitAllowingStateLoss();
private fun addFragment() {
supportFragmentManager.beginTransaction().add(R.id.container, SampleFragment())
.commitAllowingStateLoss()
}

public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_storage:
requestStorage();
break;
case R.id.btn_sms:
requestSMS();
break;
fun onClick(view: View) {
when (view.id) {
R.id.btn_storage -> requestStorage()
R.id.btn_sms -> requestSMS()
}
}

private void requestSMS() {
PermissionManager.request(this, new AbsPermissionCallback() {
@Override
public void onGrant(String[] permissions) {
for (String permission : permissions) {
Log.e("TAG", "onGrant permissions -> " + permission);
private fun requestSMS() {
request(
this,
object : AbsPermissionCallback() {
override fun onGrant(permissions: Array<String>) {
for (permission in permissions) {
Log.e("TAG", "onGrant permissions -> $permission")
}
Toast.makeText(this@MainActivity, "短信权限已全部授予", Toast.LENGTH_SHORT).show()
}
Toast.makeText(MainActivity.this, "短信权限已全部授予", Toast.LENGTH_SHORT).show();
}

@Override
public void onDeny(String[] deniedPermissions, String[] neverAskPermissions) {
for (String permission : deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> " + permission);
}
for (String permission : neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> " + permission);
override fun onDeny(
deniedPermissions: Array<String>,
neverAskPermissions: Array<String>
) {
for (permission in deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> $permission")
}
for (permission in neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> $permission")
}
Toast.makeText(this@MainActivity, "短信权限部分或全部被拒绝", Toast.LENGTH_SHORT).show()
}
Toast.makeText(MainActivity.this, "短信权限部分或全部被拒绝", Toast.LENGTH_SHORT).show();
}
}, Manifest.permission.SEND_SMS, Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS);
},
Manifest.permission.SEND_SMS,
Manifest.permission.RECEIVE_SMS,
Manifest.permission.READ_SMS
)
}

private void requestStorage() {
PermissionManager.request(this, new AbsPermissionCallback() {
@Override
public void onGrant(String[] permissions) {
for (String permission : permissions) {
Log.e("TAG", "onGrant permissions -> " + permission);
private fun requestStorage() {
request(this, object : AbsPermissionCallback() {
override fun onGrant(permissions: Array<String>) {
for (permission in permissions) {
Log.e("TAG", "onGrant permissions -> $permission")
}
Toast.makeText(MainActivity.this, "存储权限已全部授予", Toast.LENGTH_SHORT).show();
Toast.makeText(this@MainActivity, "存储权限已全部授予", Toast.LENGTH_SHORT).show()
}

@Override
public void onDeny(String[] deniedPermissions, String[] neverAskPermissions) {
for (String permission : deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> " + permission);
override fun onDeny(
deniedPermissions: Array<String>,
neverAskPermissions: Array<String>
) {
for (permission in deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> $permission")
}
for (String permission : neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> " + permission);
for (permission in neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> $permission")
}
Toast.makeText(MainActivity.this, "存储权限部分或全部被拒绝", Toast.LENGTH_SHORT).show();
Toast.makeText(this@MainActivity, "存储权限部分或全部被拒绝", Toast.LENGTH_SHORT).show()
}
}, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
}, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)
}
}
}
96 changes: 48 additions & 48 deletions app/src/main/java/com/wangzhen/permission/sample/SampleFragment.kt
Original file line number Diff line number Diff line change
@@ -1,67 +1,67 @@
package com.wangzhen.permission.sample;
package com.wangzhen.permission.sample

import android.Manifest;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import com.wangzhen.permission.PermissionManager;
import com.wangzhen.permission.callback.AbsPermissionCallback;
import android.Manifest
import com.wangzhen.permission.PermissionManager.request
import android.view.LayoutInflater
import android.view.ViewGroup
import android.os.Bundle
import android.util.Log
import android.view.View
import com.wangzhen.permission.sample.R
import com.wangzhen.permission.PermissionManager
import com.wangzhen.permission.callback.AbsPermissionCallback
import android.widget.Toast
import androidx.fragment.app.Fragment
import java.lang.StringBuilder

/**
* SampleFragment
* Created by wangzhen on 2020/4/15.
*/
public class SampleFragment extends Fragment implements View.OnClickListener {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_sample, container, false);
inflate.findViewById(R.id.btn_call).setOnClickListener(this);
return inflate;
class SampleFragment : Fragment(), View.OnClickListener {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val inflate = inflater.inflate(R.layout.fragment_sample, container, false)
inflate.findViewById<View>(R.id.btn_call).setOnClickListener(this)
return inflate
}

@Override
public void onClick(View v) {
PermissionManager.request(this, new AbsPermissionCallback() {
@Override
public void onGrant(String[] permissions) {
for (String permission : permissions) {
Log.e("TAG", "onGrant permissions -> " + permission);
override fun onClick(v: View) {
request(this, object : AbsPermissionCallback() {
override fun onGrant(permissions: Array<String>) {
for (permission in permissions) {
Log.e("TAG", "onGrant permissions -> $permission")
}
Toast.makeText(getContext(), "电话权限已全部授予", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "电话权限已全部授予", Toast.LENGTH_SHORT).show()
}

@Override
public void onDeny(String[] deniedPermissions, String[] neverAskPermissions) {
for (String permission : deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> " + permission);
override fun onDeny(
deniedPermissions: Array<String>,
neverAskPermissions: Array<String>
) {
for (permission in deniedPermissions) {
Log.e("TAG", "onDeny deniedPermissions -> $permission")
}
for (String permission : neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> " + permission);
for (permission in neverAskPermissions) {
Log.e("TAG", "onDeny neverAskPermissions -> $permission")
}
Toast.makeText(getContext(), "电话权限部分或全部被拒绝", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "电话权限部分或全部被拒绝", Toast.LENGTH_SHORT).show()
}

@Override
public void onNotDeclared(String[] permissions) {
StringBuilder builder = new StringBuilder();
for (String permission : permissions) {
if (builder.length() > 0) {
builder.append("");
override fun onNotDeclared(permissions: Array<String>) {
val builder = StringBuilder()
for (permission in permissions) {
if (builder.isNotEmpty()) {
builder.append("")
}
builder.append(permission);
Log.e("TAG", "onNotDeclared permissions -> " + permission);
builder.append(permission)
Log.e("TAG", "onNotDeclared permissions -> $permission")
}
Toast.makeText(getContext(), builder.toString() + "未在清单文件声明", Toast.LENGTH_SHORT).show();
Toast.makeText(context, builder.toString() + "未在清单文件声明", Toast.LENGTH_SHORT).show()
}
}, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE);
}, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE)
}
}
}
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.3'

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand Down
17 changes: 13 additions & 4 deletions library/build.gradle
Original file line number Diff line number Diff line change
@@ -1,27 +1,36 @@
apply plugin: 'com.android.library'
plugins {
id 'com.android.library'
id 'kotlin-android'
}

android {
compileSdkVersion 31

defaultConfig {
minSdkVersion 17
targetSdkVersion 31
versionCode 1
versionName "1.0"
consumerProguardFiles 'consumer-rules.pro'
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

lintOptions {
abortOnError false
}
kotlinOptions {
jvmTarget = '1.8'
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.activity:activity:1.4.0'

implementation 'androidx.core:core-ktx:1.7.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.31"
}
Loading

0 comments on commit 914817f

Please sign in to comment.