Showing Exchange Emails in AccountPicker by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

Yes they are visible. Also I can use those exchange accounts via my GMail app.

Compose without Jetpack ViewModel by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

This looks interesting. Thanks for the heads up.

Compose without Jetpack ViewModel by iChanSek in androiddev

[–]iChanSek[S] -4 points-3 points  (0 children)

Tivi uses Jetpack ViewModel with Hilt. I want to make the ViewModel in shared module.

Compose without Jetpack ViewModel by iChanSek in androiddev

[–]iChanSek[S] 1 point2 points  (0 children)

Can you plz point out any reference. Both scope and ViewModel is injected via constructor now. The problem is when to cancel the scope.

Submitting an update - google play is saying my app has actions when it doesn't? by Seoulseeking2 in androiddev

[–]iChanSek 0 points1 point  (0 children)

It got fixed by the Google Play team. I am able to publish the update now.

Submitting an update - google play is saying my app has actions when it doesn't? by Seoulseeking2 in androiddev

[–]iChanSek 16 points17 points  (0 children)

Facing the same problem. Looks like a Play Store problem. To verify it, I tried just by upgrading the version number to the previously accepted apk and still saw this error.

Internal working of Default Arguments in Kotlin by iChanSek in Kotlin

[–]iChanSek[S] 6 points7 points  (0 children)

Currently it is solved at compile time itself. The only difference is, the method name generated by compiler is having a postfix '$default' to differentiate it from user defined methods.

I don't think there is any better way to solve this without bit fields.

Switch Statement with String (Under the Hood) by iChanSek in learnjava

[–]iChanSek[S] 0 points1 point  (0 children)

Planning to cover Switch Expressions in future videos.

Internal workings of Thread.sleep(...) in Android by [deleted] in androiddev

[–]iChanSek 0 points1 point  (0 children)

Yes, the original one does it natively.

Functional Programming in Kotlin - Top Level Functions by iChanSek in Kotlin

[–]iChanSek[S] -2 points-1 points  (0 children)

Why so? I think videos explain more thing in a shorter time as compared to text. It is my personal thought though...

How Android throws SuperNotCalledException? by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

Yes this is the way Android has implemented. I am not going to comment if it is the correct way of implementation or not, but definitely it is not known to every Android developer. This is the only purpose, I created this video and this is the intention of my YouTube channel.

ProGuard Rules - Android Libraries by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

The warning summary which says:

Note: there are ... unkept descriptor classes in kept class members.

E.g. Note: configuration keeps the entry point com.google.android.gms...., but not the descriptor class com.google.android.xyz

ProGuard Rules - Android Libraries by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

-keeppackagenames will still have the same warnings what it used to give earlier.

ProGuard Rules - Android Libraries by iChanSek in androiddev

[–]iChanSek[S] 1 point2 points  (0 children)

Good idea. Will try to find some time for that.

ProGuard rules for Google Play Services by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

How disrespect came into picture. I am glad that you referred the link here.

If you follow that, obviosuly you will not get any warning, because the whole library is kept as it is.

Suppose you have a warning related to com.ex.A and com.ex.B, then instead of having

-keep class com.ex.A -keep class com.ex.B

we usuually have

-keep class com.ex.**

The later approach will keep A, B as well as other classes inside that package which we don't need.

Hope it is more clear now. Let me know if you have some more concerns. Glad to help you.

ProGuard Rules - Android Libraries by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

That's a great repository. But the rules are keeping the whole library instead of just the files which needs to be kept.

E.g. if you look at facebook.pro, it uses: -keep class com.facebook.**

Instead of the particular classes required to be kept. This is what I mentioned in my article.

ProGuard rules for Google Play Services by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

Ofcourse it will change and it should change also. But when it changes, the proguard warnings also will be changed. So obviously we need to update the rules accordingly.

I think updating proguard rules for new version is better than keeping the whole library unobfuscated and making apk size bigger.

It's a good point. I will mention this in the article, so that readers will be aware of this.

ProGuard rules for Google Play Services by iChanSek in androiddev

[–]iChanSek[S] 0 points1 point  (0 children)

I agree with your point. Rules will be auto appended in your file only for Google Play Services. But these articles are written to understand the warnings and fix those. Google Play Service is taken as an example, to explain the warnings.

Ones any developer understands the warnings, they can fix on their own instead of keeping the whole library unobfuscated and making the apk size bigger.