Sep 19 | 7:20 PM |
Mark M. | has entered the room |
Mark M. | turned on guest access |
Sep 19 | 7:25 PM |
Ed | has entered the room |
Mark M. |
hello, Ed
|
Mark M. |
how can I help you today?
|
Ed |
Hi Mark
|
Ed |
I've got a very old Android app I need to upgrade
|
Ed |
it will only build compile with Android 2.3.3
|
Ed |
after that compiling fails...
|
Mark M. |
I'm not certain what you mean -- are you referring to the compileSdkVersion?
|
Ed |
can I ask you a few questions about that topic and your advice?
|
Mark M. |
sure!
|
Sep 19 | 7:30 PM |
Ed |
Android Studio 2.3.3 will build it
|
Ed |
anything older fails
|
Ed |
not a difficult app --- would like to not re-write it
|
Mark M. |
why would you want an older Android Studio?
|
Mark M. |
Android Studio 2.x is already rather old -- the current shipping version of Android Studio is 3.5
|
Ed |
I don't but I wanted to compile and build it. :D
|
Ed |
that is correct
|
Ed |
anything else failed to build it
|
Mark M. |
you wrote "anything older fails" -- so, use the latest Android Studio
|
Mark M. |
or did you mean "anything newer fails"?
|
Ed |
sorry... yes... anything newer
|
Ed |
I need to eat dinner... lol
|
Mark M. |
ah, now we're getting somewhere
|
Mark M. |
(though "somewhere" unfortunately will not involve dinner)
|
Ed |
View paste
(2 more lines)
|
Ed |
so I have it building in 3.5 with an error of....
|
Mark M. |
*waits with breathless anticipation*
|
Ed |
lol
|
Ed |
sorry
|
Sep 19 | 7:35 PM |
Mark M. |
*gasps*
|
Mark M. |
*now waits with ordinary anticipation, along with breathing*
|
Ed |
failed to resolve library
|
Ed |
I converted everything over to API 28
|
Mark M. |
I
|
Mark M. |
do you mean targetSdkVersion 28?
|
Mark M. |
I'm not quite certain of the scope of "everything"
|
Ed |
yes... sorry
|
Mark M. |
OK
|
Ed |
wish I could screen share
|
Ed |
View paste
|
Ed |
you know that library? I've never heard of it
|
Mark M. |
yes, that's Jake Wharton's library of tabs and stuff for ViewPager
|
Mark M. |
hasn't been updated in a very long time
|
Mark M. |
as Jake has moved on to bigger and better things :-)
|
Ed |
:-)
|
Ed |
I'm thinking I should move all of this to JetPack
|
Ed |
after I get it to compile on API 28
|
Mark M. |
that may be prudent, depending on your plans for the app
|
Mark M. |
can you post your top-level build.gradle file? the one in the project root directory?
|
Ed |
yes sir... the 'app' file ?
|
Sep 19 | 7:40 PM |
Ed |
or higher
|
Sep 19 | 7:40 PM |
Mark M. |
higher
|
Ed |
View paste
(4 more lines)
|
Mark M. |
in the allprojects closure, you have a repositories closure
|
Mark M. |
it has google() and jcenter()
|
Mark M. |
add mavenCentral()
|
Mark M. |
and see if that clears up that specific problem
|
Mark M. |
you'll wind up with:
|
Mark M. |
View paste
(5 more lines)
|
Ed |
done
|
Ed |
still got error...
|
Ed |
View paste
(30 more lines)
|
Ed |
Let me trace that down....
|
Mark M. |
it does not seem to have checked the new location, and it's also not listing Google's repos as a place to look
|
Ed |
found it
|
Ed |
View paste
|
Mark M. |
right, and you'll see there "Central" under "Repositories"
|
Mark M. |
that's why I suggested trying mavenCentral()
|
Mark M. |
oh, wait
|
Mark M. |
that's not an AAR, it's an apklib
|
Mark M. |
that's a long-since obsolete library packaging mechanism
|
Ed |
ahhh. thank you
|
Ed |
I wouldn't have known that
|
Sep 19 | 7:45 PM |
Mark M. |
an apklib is reminiscent of an AAR, but not quite the same
|
Ed |
This is just a 'busy indicator spinner' right?
|
Mark M. |
no, you're using it for a ViewPager
|
Mark M. |
tabs, dots, or other things to show which page the user is on out of the set of pages
|
Ed |
like a recycler view?
|
Ed |
ahh... I know where it is
|
Mark M. |
ViewPager was the classic horizontal swipe page-at-a-time thing
|
Ed |
circle dots on bottom... left to right viewing
|
Mark M. |
that sounds like it
|
Mark M. |
so, your options are:
|
Ed |
yes
|
Mark M. |
1. nuke those dots and nuke the reference to the library
|
Mark M. |
2. upgrade to a newer indicator library
|
Mark M. |
3. convert the apklib into a Gradle module and still use ViewPagerIndicator
|
Mark M. |
I'd recommend #1 or 32
|
Mark M. |
sorry: I'd recommend #1 or #2
|
Mark M. |
but #3 should be possible if needed
|
Ed |
1 works
|
Ed |
thanks!
|
Ed |
I have one more question... if possible
|
Mark M. |
in case you change your mind on #2, here's a whole category of ViewPager add-ons, including lots of indicators: https://android-arsenal.com/tag/111?sort=created
|
Mark M. |
and there's nobody else here, so you can ask all the questions you want!
|
Mark M. |
if somebody else shows up, I'll time-slice between you
|
Ed |
sounds good
|
Ed |
Jet Pack --- would you build a shipping app with it?
|
Mark M. |
well, Jetpack makes up a whole lot of stuff
|
Ed |
I understand it is suppose to be AppCompat... up to API 28
|
Ed |
it does
|
Ed |
and I don't feel all of JetPack is fully baked
|
Mark M. |
AppCompat is one piece of the Jetpack brand
|
Sep 19 | 7:50 PM |
Ed |
this app... is super small....
|
Mark M. |
well, I don't have opinions on all the stuff -- Auto for example
|
Ed |
it needs to graph photos and take a pic... and send it to a printer... that's it
|
Mark M. |
so, you won't necessarily need much from Jetpack anyway
|
Ed |
GRAB.... wow... sorry
|
Ed |
it needs JSON info
|
Ed |
and the legacy nicely uses RxJava to talk to the printer server...
|
Mark M. |
Jetpack doesn't really do much with the networking stuff -- OkHttp or Retrofit are the typical solutions for that
|
Mark M. |
though that's a *really* old RxJava
|
Ed |
it uses Retrofit if you noticed
|
Mark M. |
yes, I see that now
|
Mark M. |
anyway, back to Jetpack: most of the components that I have worked with are in decent shape, at least the release versions (compared to alpha/beta/rc)
|
Ed |
for image crop and rotation I was hoping to use CameraX but it's half baked in Alpha
|
Mark M. |
yes, that's pretty new
|
Mark M. |
and I think Google may be discovering what I discovered when writing two camera libraries: writing camera libraries sucks
|
Ed |
it does
|
Mark M. |
fotoapparat and CameraKit-Android are not Googly, but they have been around for a bit and work
|
Ed |
I just finished working with the iOS print app that does this same thing... in Objective C. :(
|
Mark M. |
my condolences
|
Sep 19 | 7:55 PM |
Ed |
the next iOS app will be in Swift
|
Ed |
and I would like to convert this to Kotlin
|
Ed |
easier on the brain.... to bounce between those two... but I've been doing java since the late 90s
|
Ed |
I did C++ for 3 years... and couldn't run away from it quick enough. lol
|
Mark M. |
so, how else can I help?
|
Ed |
Kotlin or Java for this based on the legacy.... ?
|
Mark M. |
well, that's more a question of what you're going to do with the app going forward
|
Ed |
I'm pretty solid with Kotlin... I've done Groovy and Swift
|
Mark M. |
if your objective is simply to get one more version out, it's not worth doing much
|
Ed |
it will be the flag ship app moving forward
|
Ed |
I work for a printer company
|
Mark M. |
in that case, I'd progressively move it over to Kotlin
|
Mark M. |
ah
|
Mark M. |
Java/Kotlin interoperability is pretty solid, so you don't have to convert everything over at once
|
Sep 19 | 8:00 PM |
Ed | |
Mark M. |
cool!
|
Ed |
I will not bore you with all of the printer details... but this talks to an Android TV touch screen device
|
Mark M. |
Android TV... touchscreen?
|
Mark M. |
that's unusual
|
Ed | |
Ed |
I could send you a demo if you tell me where to send it
|
Ed |
that box is old... we have a version 3 to ship soon
|
Mark M. |
there have been a few people in this chat who have used that hardware, or something very similar
|
Mark M. |
didn't know it ran Android TV, thoguh
|
Mark M. |
er, though
|
Ed |
X8 PiPo
|
Ed |
Android 4.4.4 is that UI screen
|
Mark M. |
I think of it as "the wedge"
|
Ed |
using a chRoot install of Ubuntu
|
Ed |
that is my server for wifi
|
Ed |
that talks to the printers via USB
|
Ed |
runs CUPS
|
Ed |
I do REST posts of the images
|
Ed |
it handles the print part
|
Ed |
it's a lot of fun
|
Ed |
but I trying to update the wireless base as well as the mobile apps that go with it
|
Sep 19 | 8:05 PM |
Ed |
why "the wedge" ? I don't get the reference....
|
Mark M. |
the device is wedge-shaped
|
Mark M. |
at least, in the photos
|
Ed |
lol
|
Ed |
it is
|
Ed |
here is our newer print server... for doing passport ID photos...
|
Ed | |
Ed |
video shows the new screen and UI
|
Ed |
camera is a wifi camera
|
Ed |
two guys built that and coded it... two very smart guys... I might add
|
Ed |
I used to work at Shutterfly on their manufacturing software... this is way cooler
|
Mark M. |
I've worked with a lot of hardware over the years, but I haven't worked directly with a printer since the dot-matrix days
|
Ed |
these printers are crazy.... compared to a dot matrix or laser
|
Ed |
sublimation photo printer... plastic ribbon with 4 panels
|
Mark M. |
I've heard of that tech
|
Ed |
3 process color and a clear panel for glossy / matte
|
Ed |
we actually make the ribbon and paper for this printer at my plant
|
Ed |
DNP makes about 80% of the ribbons used in all printers of this type
|
Ed |
thermal ribbons as well.. we supply Zebra with their black thermal ribbon for example
|
Sep 19 | 8:10 PM |
Ed |
lots of fun.... and way better than a bank job
|
Ed |
thanks for your time this evening!
|
Mark M. |
you're welcome!
|
Ed |
what type of Android phone do you have ?
|
Mark M. |
I have about 50
|
Ed |
you win
|
Ed |
:-)
|
Ed |
do you have a Pixel ?
|
Mark M. |
yes, one of each generation
|
Ed |
nice
|
Ed |
I have an original in the QA lab at work
|
Ed |
it's the only thing I can run 10
|
Mark M. |
I usually buy the least-expensive option of each year's Google hardware
|
Ed |
I really like the light/dark theme on 10
|
Ed |
and iOS 13 shipped with it today... which I've already installed
|
Mark M. |
it'll be interesting how many apps adopt dark mode support for Android, though
|
Ed |
sigh... that's what is such a PITA with Android
|
Ed |
that and the push/pull of files out of the VM of a device
|
Sep 19 | 8:15 PM |
Ed |
with iOS I can actually mount the simulated phone... just like a drive and work with that
|
Mark M. |
I don't work with the emulator much
|
Ed |
I love Android Studio though.... great IDE
|
Ed |
Xcode still can't even do a decent Find... or format code
|
Ed |
ugh
|
Mark M. |
I haven't done much iOS, but I have heard the same complaint from others
|
Ed |
I had to add a plugin... to format code
|
Ed |
but Apple spoils me on screen sizes...
|
Ed |
the have a unit of measure... for 1x, 2x or 3x where the x is pixel density
|
Ed |
super easy to translate
|
Ed |
my mind still explodes when I deal with Android screen sizes and fragments. :-)
|
Mark M. |
as I've long said, Android's freedom is a double-edged sword
|
Ed |
security in 10.... has less freedom
|
Ed |
fwiw
|
Ed |
I can't change wifi state
|
Mark M. |
yes
|
Ed |
so we had a version that would connect to the wifi print server and log you in... fails in 10
|
Ed |
silently
|
Mark M. |
I haven't used the new "suggest an AP to the user" API yet
|
Ed |
and http calls are a pita no in Android... after 26 I think
|
Ed |
they want everything to be https
|
Mark M. |
you can enable cleartext traffic with a snippet of XML
|
Sep 19 | 8:20 PM |
Mark M. |
but, yes, HTTPS would be nice
|
Mark M. |
scenarios like yours make that difficult
|
Ed |
just a permission in the manifest
|
Ed |
?
|
Mark M. |
android:usesCleartextTraffic="true"
|
Ed |
cool
|
Ed |
thanks
|
Mark M. |
or, android:networkSecurityConfig="@xml/whatever"
|
Ed |
thanks for sharing your time... always enjoy chatting with you
|
Mark M. |
happy to help!
|
Ed |
'Professor'. :-)
|
Ed |
thanks for the coupon with the typo on the web url this week
|
Mark M. |
sure!
|
Ed |
if you reply to that I can send you a video of the new WPS Pro print server... it's very cool
|
Ed |
if you want to see it
|
Mark M. |
thanks, but right now, I'm kinda swamped
|
Ed |
we are trying to move away from the X8 to a Raspberry Pi option
|
Ed |
I bet
|
Ed |
you've got books to write! lol
|
Ed |
cheers
|
Mark M. |
that too
|
Ed |
have a great evening
|
Mark M. |
you too!
|
Ed | has left the room |
Sep 19 | 8:30 PM |
Mark M. | turned off guest access |