Skip to content

Commit ecc7397

Browse files
Merge pull request #145 from Omega-R/update_dependency
Update dependency
2 parents 4bf1ae2 + dbd15ae commit ecc7397

39 files changed

Lines changed: 1131 additions & 160 deletions

.idea/gradle.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ android {
1010
compileSdkVersion rootProject.ext.sdkVersion
1111

1212
defaultConfig {
13-
minSdkVersion 14
13+
minSdkVersion 19
1414
targetSdkVersion rootProject.ext.sdkVersion
1515
versionCode 1
1616
versionName "1.0"
@@ -35,8 +35,9 @@ android {
3535
dependencies {
3636
implementation fileTree(dir: 'libs', include: ['*.jar'])
3737
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
38-
implementation 'com.github.Omega-R:OmegaLaunchers:1.0.3'
39-
api 'com.github.Omega-R.OmegaTypes:omegatypes:2.0.3'
38+
implementation 'com.github.Omega-R.OmegaLaunchers:omegalauncherslib:1.0.6'
39+
api 'com.github.Omega-R.OmegaTypes:omegatypes:2.2.0'
40+
implementation 'com.google.android.gms:play-services-mlkit-text-recognition-common:19.0.0'
4041

4142
compileOnly "androidx.appcompat:appcompat:$androidX"
4243
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,43 @@
11
package com.omega_r.libs.omegaintentbuilder
22

33
import android.content.Context
4+
import android.os.Parcel
5+
import android.os.Parcelable.Creator
46
import com.omega_r.libs.omegaintentbuilder.interfaces.IntentBuilder
7+
import com.omega_r.libs.omegaintentbuilder.interfaces.IntentHandlerBuilder
58
import com.omegar.libs.omegalaunchers.BaseIntentLauncher
69

710
/**
811
* Created by Anton Knyazev on 2019-08-08.
912
*/
1013
class IntentBuilderLauncher(private val intentBuilder: IntentBuilder) : BaseIntentLauncher() {
1114

15+
constructor(parcel: Parcel) : this(parcel.readParcelable(IntentBuilder::class.java.classLoader)!!)
16+
1217
override fun getIntent(context: Context) = intentBuilder.createIntent(context)
1318

19+
override fun launch(context: Context) {
20+
if (intentBuilder is IntentHandlerBuilder) {
21+
intentBuilder.startActivity(context)
22+
} else super.launch(context)
23+
}
24+
25+
override fun writeToParcel(parcel: Parcel, flags: Int) {
26+
parcel.writeParcelable(intentBuilder, flags)
27+
}
28+
29+
override fun describeContents(): Int {
30+
return 0
31+
}
32+
33+
companion object CREATOR : Creator<IntentBuilderLauncher> {
34+
35+
override fun createFromParcel(parcel: Parcel): IntentBuilderLauncher {
36+
return IntentBuilderLauncher(parcel)
37+
}
38+
39+
override fun newArray(size: Int): Array<IntentBuilderLauncher?> {
40+
return arrayOfNulls(size)
41+
}
42+
}
1443
}

core/src/main/java/com/omega_r/libs/omegaintentbuilder/OmegaIntentBuilder.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.omega_r.libs.omegaintentbuilder.builders.share.ShareIntentBuilder
2323
import com.omega_r.libs.omegaintentbuilder.types.CalendarActionTypes
2424
import com.omega_r.libs.omegaintentbuilder.types.MapTypes
2525
import com.omega_r.libs.omegaintentbuilder.types.ShowType
26+
import com.omega_r.libs.omegatypes.Text
2627

2728
/**
2829
* OmegaIntentBuilder class for creating supports createdIntent builders.
@@ -58,6 +59,13 @@ object OmegaIntentBuilder {
5859
@JvmStatic
5960
fun web(urlAddress: String) = BrowserBuilder(urlAddress)
6061

62+
/**
63+
* @param urlAddress Text
64+
* @return BrowserBuilder for creating intent to start web browser
65+
*/
66+
@JvmStatic
67+
fun web(urlAddress: Text) = BrowserBuilder(urlAddress)
68+
6169
/**
6270
* @param uri Uri
6371
* @return BrowserBuilder for creating intent to start web browser

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/ActivityIntentBuilder.kt

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ package com.omega_r.libs.omegaintentbuilder.builders
1313
import android.app.Activity
1414
import android.app.Fragment
1515
import android.content.Context
16+
import android.os.Parcel
17+
import android.os.Parcelable.Creator
1618
import com.omega_r.libs.omegaintentbuilder.handlers.ActivityIntentHandler
1719
import com.omega_r.libs.omegaintentbuilder.handlers.ContextIntentHandler
1820
import com.omega_r.libs.omegaintentbuilder.handlers.FragmentIntentHandler
1921
import com.omega_r.libs.omegaintentbuilder.handlers.SupportFragmentIntentHandler
2022
import com.omega_r.libs.omegaintentbuilder.interfaces.IntentHandlerBuilder
2123

22-
class ActivityIntentBuilder<T : Activity>(
23-
activity: Class<T>
24-
) : BaseIntentBuilder<ActivityIntentBuilder<T>, T>(activity), IntentHandlerBuilder {
24+
class ActivityIntentBuilder<T : Activity> : BaseIntentBuilder<ActivityIntentBuilder<T>, T>, IntentHandlerBuilder {
25+
26+
constructor(activity: Class<T>) : super(activity)
27+
28+
constructor(parcel: Parcel) : super(parcel)
2529

2630
override fun createIntentHandler(context: Context): ContextIntentHandler {
2731
return ContextIntentHandler(context, createIntent(context))
@@ -39,4 +43,22 @@ class ActivityIntentBuilder<T : Activity>(
3943
return SupportFragmentIntentHandler(fragment, createIntent(fragment.activity!!))
4044
}
4145

46+
override fun writeToParcel(parcel: Parcel, flags: Int) {
47+
super.writeToParcel(parcel, flags)
48+
}
49+
50+
override fun describeContents(): Int {
51+
return 0
52+
}
53+
54+
companion object CREATOR : Creator<ActivityIntentBuilder<*>> {
55+
56+
override fun createFromParcel(parcel: Parcel): ActivityIntentBuilder<*> {
57+
return ActivityIntentBuilder<Activity>(parcel)
58+
}
59+
60+
override fun newArray(size: Int): Array<ActivityIntentBuilder<*>?> {
61+
return arrayOfNulls(size)
62+
}
63+
}
4264
}

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/AlarmIntentBuilder.kt

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package com.omega_r.libs.omegaintentbuilder.builders
22

33
import android.content.Context
44
import android.content.Intent
5+
import android.os.Parcel
6+
import android.os.Parcelable.Creator
57
import android.provider.AlarmClock.*
68

7-
class AlarmIntentBuilder : BaseActivityBuilder() {
9+
class AlarmIntentBuilder() : BaseActivityBuilder() {
810
private var message: String? = null
911
private var hour: Int? = null
1012
private var minutes: Int? = null
@@ -13,6 +15,16 @@ class AlarmIntentBuilder : BaseActivityBuilder() {
1315
private var vibrate: Boolean? = null
1416
private var ringtoneSilent: Boolean = false
1517

18+
constructor(parcel: Parcel) : this() {
19+
message = parcel.readString()
20+
hour = parcel.readValue(Int::class.java.classLoader) as? Int
21+
minutes = parcel.readValue(Int::class.java.classLoader) as? Int
22+
ringtone = parcel.readString()
23+
skipUI = parcel.readByte() != 0.toByte()
24+
vibrate = parcel.readValue(Boolean::class.java.classLoader) as? Boolean
25+
ringtoneSilent = parcel.readByte() != 0.toByte()
26+
}
27+
1628
/**
1729
* Set custom message for the alarm.
1830
* <p>
@@ -134,4 +146,28 @@ class AlarmIntentBuilder : BaseActivityBuilder() {
134146
}
135147
}
136148

149+
override fun writeToParcel(parcel: Parcel, flags: Int) {
150+
parcel.writeString(message)
151+
parcel.writeValue(hour)
152+
parcel.writeValue(minutes)
153+
parcel.writeString(ringtone)
154+
parcel.writeByte(if (skipUI) 1 else 0)
155+
parcel.writeValue(vibrate)
156+
parcel.writeByte(if (ringtoneSilent) 1 else 0)
157+
}
158+
159+
override fun describeContents(): Int {
160+
return 0
161+
}
162+
163+
companion object CREATOR : Creator<AlarmIntentBuilder> {
164+
165+
override fun createFromParcel(parcel: Parcel): AlarmIntentBuilder {
166+
return AlarmIntentBuilder(parcel)
167+
}
168+
169+
override fun newArray(size: Int): Array<AlarmIntentBuilder?> {
170+
return arrayOfNulls(size)
171+
}
172+
}
137173
}

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/BaseIntentBuilder.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,23 @@ package com.omega_r.libs.omegaintentbuilder.builders
33
import android.content.Context
44
import android.content.Intent
55
import android.os.Bundle
6+
import android.os.Parcel
67
import android.os.Parcelable
8+
import android.os.Parcelable.Creator
79
import java.io.Serializable
810

911
@Suppress("UNCHECKED_CAST")
10-
open class BaseIntentBuilder<out S, T>(private val classT: Class<T>) {
12+
abstract class BaseIntentBuilder<out S, T>(
13+
private val classT: Class<T>,
14+
private val extras: Bundle = Bundle(),
15+
private var flags: Int = 0,
16+
) : Parcelable {
1117

12-
private val extras = Bundle()
13-
private var flags: Int = 0
18+
constructor(parcel: Parcel) : this(
19+
parcel.readSerializable() as Class<T>,
20+
parcel.readBundle(Bundle::class.java.classLoader) ?: Bundle(),
21+
parcel.readInt()
22+
)
1423

1524
/**
1625
* Add extended data to the createdIntent. The name must include a package
@@ -539,4 +548,10 @@ open class BaseIntentBuilder<out S, T>(private val classT: Class<T>) {
539548
flags = this@BaseIntentBuilder.flags
540549
}
541550

551+
override fun writeToParcel(parcel: Parcel, flags: Int) {
552+
parcel.writeSerializable(classT)
553+
parcel.writeBundle(extras)
554+
parcel.writeInt(flags)
555+
}
556+
542557
}

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/BaseServiceBuilder.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.omega_r.libs.omegaintentbuilder.builders
22

33
import android.content.Context
4+
import android.os.Parcelable
45
import com.omega_r.libs.omegaintentbuilder.interfaces.ServiceHandler
56

6-
abstract class BaseServiceBuilder : ServiceHandler {
7+
abstract class BaseServiceBuilder : ServiceHandler, Parcelable {
78

89
override fun startService(context: Context) {
910
context.startService(createIntent(context))

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/BaseUriBuilder.kt

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,37 @@ package com.omega_r.libs.omegaintentbuilder.builders
1313
import android.content.Context
1414
import android.graphics.Bitmap
1515
import android.net.Uri
16+
import android.os.Parcel
17+
import android.os.Parcelable.Creator
1618
import com.omega_r.libs.omegaintentbuilder.builders.share.DownloadBuilder
1719
import com.omega_r.libs.omegaintentbuilder.downloader.Download
1820
import com.omega_r.libs.omegaintentbuilder.providers.FileProvider
1921
import com.omega_r.libs.omegatypes.image.Image
2022
import java.io.File
2123
import java.io.FileOutputStream
2224

23-
abstract class BaseUriBuilder() : BaseActivityBuilder(), Download<BaseUriBuilder> {
24-
25-
private val uriSet: MutableSet<Uri> = mutableSetOf()
26-
private val fileSet: MutableSet<File> = mutableSetOf()
27-
private val bitmapSet: MutableSet<Bitmap> = mutableSetOf()
28-
29-
private val downloadBuilder by lazy { DownloadBuilder(this) }
30-
private var localFilesDir: File? = null
25+
abstract class BaseUriBuilder(
26+
private val uriSet: MutableSet<Uri> = mutableSetOf(),
27+
private val fileSet: MutableSet<File> = mutableSetOf(),
28+
private val bitmapSet: MutableSet<Bitmap> = mutableSetOf(),
29+
private var localFilesDir: File? = null,
30+
) : BaseActivityBuilder(), Download<BaseUriBuilder> {
3131

3232
companion object {
33+
3334
private const val FILE_DIR = "intent_files" // this value from xml/file_paths.xml
3435
private const val DEFAULT_IMAGE_FILE_NAME = "File"
3536
private const val DEFAULT_IMAGE_FILE_TYPE = ".jpg";
3637
}
3738

39+
private val downloadBuilder by lazy { DownloadBuilder(this) }
40+
41+
constructor(parcel: Parcel) : this(
42+
parcel.readParcelableArray(MutableSet::class.java.classLoader)?.toMutableSet() as? MutableSet<Uri> ?: mutableSetOf(),
43+
parcel.readSerializable() as MutableSet<File>,
44+
parcel.readParcelableArray(MutableSet::class.java.classLoader)?.toMutableSet() as? MutableSet<Bitmap> ?: mutableSetOf(),
45+
parcel.readSerializable() as File?
46+
)
3847

3948
internal fun getLocalFilesDir(context: Context): File {
4049
if (localFilesDir == null) {
@@ -195,4 +204,11 @@ abstract class BaseUriBuilder() : BaseActivityBuilder(), Download<BaseUriBuilder
195204
return uriSet
196205
}
197206

207+
override fun writeToParcel(parcel: Parcel, flags: Int) {
208+
parcel.writeParcelableArray(uriSet.toTypedArray(), flags)
209+
parcel.writeSerializable(HashSet(fileSet))
210+
parcel.writeParcelableArray(bitmapSet.toTypedArray(), flags)
211+
parcel.writeSerializable(localFilesDir)
212+
}
213+
198214
}

core/src/main/java/com/omega_r/libs/omegaintentbuilder/builders/BrowserBuilder.kt

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,42 @@ package com.omega_r.libs.omegaintentbuilder.builders
1313
import android.content.Context
1414
import android.content.Intent
1515
import android.net.Uri
16+
import android.os.Parcel
17+
import android.os.Parcelable.Creator
18+
import com.omega_r.libs.omegatypes.Text
19+
import com.omega_r.libs.omegatypes.toText
1620

1721
/**
1822
* BrowserBuilder class for starting web browser
1923
*/
20-
class BrowserBuilder (private val uri: Uri) : BaseActivityBuilder() {
24+
class BrowserBuilder(private val uri: Text) : BaseActivityBuilder() {
2125

22-
constructor(urlAddress: String) : this(Uri.parse(urlAddress))
26+
constructor(parcel: Parcel) : this(parcel.readSerializable() as Text)
27+
28+
constructor(urlAddress: String) : this(urlAddress.toText())
29+
30+
constructor(uri: Uri) : this(uri.toString())
2331

2432
override fun createIntent(context: Context) = Intent(Intent.ACTION_VIEW).apply {
25-
data = uri
33+
data = Uri.parse(uri.getString(context))
2634
}
2735

36+
override fun writeToParcel(parcel: Parcel, flags: Int) {
37+
parcel.writeSerializable(uri)
38+
}
39+
40+
override fun describeContents(): Int {
41+
return 0
42+
}
43+
44+
companion object CREATOR : Creator<BrowserBuilder> {
45+
46+
override fun createFromParcel(parcel: Parcel): BrowserBuilder {
47+
return BrowserBuilder(parcel)
48+
}
49+
50+
override fun newArray(size: Int): Array<BrowserBuilder?> {
51+
return arrayOfNulls(size)
52+
}
53+
}
2854
}

0 commit comments

Comments
 (0)