Skip to content

Commit 336d637

Browse files
author
DenisPopkov
committed
added another ext
1 parent dc93b2d commit 336d637

82 files changed

Lines changed: 9733 additions & 108 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/jarRepositories.xml

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/uiDesigner.xml

Lines changed: 124 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ plugins {
44
}
55

66
android {
7-
compileSdk 32
7+
compileSdk 33
88

99
defaultConfig {
1010
applicationId "ru.livetyping.androidextensionpack"
1111
minSdk 21
12-
targetSdk 32
12+
targetSdk 33
1313
versionCode 1
1414
versionName "1.0"
1515

@@ -33,7 +33,7 @@ android {
3333

3434
dependencies {
3535

36-
implementation 'androidx.core:core-ktx:1.8.0'
36+
implementation 'androidx.core:core-ktx:1.9.0'
3737
implementation 'androidx.appcompat:appcompat:1.5.0'
3838
implementation 'com.google.android.material:material:1.6.1'
3939
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'

app/src/androidTest/java/ru/livetyping/androidextensionpack/ExampleInstrumentedTest.kt

Lines changed: 0 additions & 24 deletions
This file was deleted.

app/src/test/java/ru/livetyping/androidextensionpack/ExampleUnitTest.kt

Lines changed: 0 additions & 17 deletions
This file was deleted.

extensionpack/build.gradle

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ plugins {
55
}
66

77
android {
8-
compileSdk 32
8+
compileSdk 33
99

1010
defaultConfig {
1111
minSdk 21
12-
targetSdk 32
12+
targetSdk 33
1313

1414
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1515
consumerProguardFiles "consumer-rules.pro"
@@ -45,11 +45,18 @@ afterEvaluate {
4545
}
4646

4747
dependencies {
48-
49-
implementation 'androidx.core:core-ktx:1.8.0'
48+
implementation 'androidx.core:core-ktx:1.9.0'
49+
implementation "androidx.fragment:fragment-ktx:1.5.2"
5050
implementation 'androidx.appcompat:appcompat:1.5.0'
51+
implementation "io.reactivex.rxjava3:rxkotlin:3.0.1"
52+
implementation "io.reactivex.rxjava3:rxandroid:3.0.0"
53+
implementation "androidx.exifinterface:exifinterface:1.3.3"
54+
implementation "com.github.bumptech.glide:glide:4.13.2"
5155
implementation 'com.google.android.material:material:1.6.1'
5256
testImplementation 'junit:junit:4.13.2'
5357
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
58+
implementation "androidx.biometric:biometric-ktx:1.2.0-alpha04"
59+
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
60+
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
5461
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
5562
}

extensionpack/src/androidTest/java/ru/livetyping/extensionpack/ExampleInstrumentedTest.kt

Lines changed: 0 additions & 24 deletions
This file was deleted.

extensionpack/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="ru.livetyping.extensionpack">
44

5+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
6+
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
7+
<uses-permission android:name="android.permission.VIBRATE"/>
58
</manifest>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package ru.livetyping.extensionpack
2+
3+
import android.accessibilityservice.AccessibilityService
4+
import android.content.ComponentName
5+
import android.content.Context
6+
import android.content.Intent
7+
import android.provider.Settings
8+
import android.text.TextUtils
9+
import android.view.accessibility.AccessibilityManager
10+
import androidx.core.content.getSystemService
11+
import androidx.core.os.bundleOf
12+
13+
inline fun <reified T : AccessibilityService> Context.hasAccessibilityPermission(): Boolean {
14+
val expectedComponentName = ComponentName(this, T::class.java)
15+
val enabledServicesSetting =
16+
Settings.Secure.getString(contentResolver, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES)
17+
?: return false
18+
val colonSplitter = TextUtils.SimpleStringSplitter(':')
19+
colonSplitter.setString(enabledServicesSetting)
20+
while (colonSplitter.hasNext()) {
21+
val componentNameString = colonSplitter.next()
22+
val enabledService = ComponentName.unflattenFromString(componentNameString)
23+
if (enabledService != null && enabledService == expectedComponentName) return true
24+
}
25+
return false
26+
}
27+
28+
29+
val Context.isAccessibilityEnabled get() = getSystemService<AccessibilityManager>()?.isEnabled ?: false
30+
31+
inline fun <reified T : AccessibilityService> Context.isAccessibilityServiceRunning(): Boolean {
32+
val settingsString = Settings.Secure.getString(contentResolver, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES)
33+
return settingsString != null && settingsString.contains("${packageName}/${T::class.java.name}")
34+
}
35+
36+
fun Context.askForAccessibilityPermission() = startActivity(Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS))
37+
38+
inline fun <reified T> Context.askForAccessibilityPermissionHighlight(
39+
argKey: String = ":settings:fragment_args_key",
40+
showFragsKey: String = ":settings:show_fragment_args"
41+
) {
42+
startActivity(Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS).apply {
43+
val showArgs = packageName + "/" + T::class.java.name
44+
putExtra(argKey, showArgs)
45+
putExtra(showFragsKey, bundleOf(argKey to showArgs))
46+
})
47+
}

0 commit comments

Comments
 (0)