Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Material design [Request] #439

Closed
SciFi1818 opened this issue May 4, 2018 · 33 comments
Closed

Material design [Request] #439

SciFi1818 opened this issue May 4, 2018 · 33 comments
Milestone

Comments

@SciFi1818
Copy link

A rebuild of the ui to Material Design would be awesome...

@ale5000-git
Copy link

ale5000-git commented May 4, 2018

But without bumping minSdkVersion :-) (I would like)

@Rikk
Copy link

Rikk commented May 4, 2018

It seems to be something undergoing. It was spotted on #436

@Leopard20
Copy link

I would love this too!

@Rikk
Copy link

Rikk commented May 5, 2018

Download from XDA: https://labs.xda-developers.com/store/app/com.github.yeriomin.yalpstore
It is in test, not stable enough (tagged as Alpha).
Imo, it's working ok.

@SciFi1818
Copy link
Author

Seems like work is going on...Cool..

@yeriomin
Copy link
Owner

yeriomin commented May 5, 2018

@SciFi1818 @ale5000-git @Rikk @Leopard20

You can get a working prototype of a "material design" Yalp Store if you build the contemporary flavor. It has been there since 0.36. I've been reluctant to put it here or on f-droid because:

  • a lot has changed inside so it is bound to be less stable
  • not so much has changed outside so it is not very impressive. I've been trying to make Yalp Store "style-less" to make it have the default UI of the OS it runs on. So on devices with api>=21 it already conforms to the material design guidelines (except the drawer and the buttons mentioned below)
  • minSdkVersion is 14 now because of the android support library dependency so it cannot replace the default legacy flavor
  • apk size has doubled

Changes

  • Navigation drawer instead of the options menu
  • FABs in lists where there is a definite "main thing to do" e.g. "update all"
  • Details page - buttons no longer stick to the bottom.
  • Details page - "page background" pic, like in Play Store, if provided by the app developer.
  • Activity transitions between app lists and details.
  • minSdkVersion is 14 now because of the android support library dependency
  • since the style is enforced, it should look the same on all devices, so no holo ui on api<21

So the main change is the drawer. I tried to rip its sources from the support library like I did with some other things, but it is too tightly coupled to the rest, so I would have to rewrite a lot of it or include half of it. So I just included it as the dependency.

I'm planning to support both versions simultaneously so that newer devices would get the big "material design" version (if the device can run api>=14, it should not be a problem) and the old devices would get the small legacy version.

If you want to try it, you can:

  • try the alpha version on xda labs. I've put it there because it is possible to clearly mark it as alpha (incomplete) there while the stable is available too.
  • build it yourself - run Android Studio and choose contemporary in the build variants.
  • get it here com.github.yeriomin.yalpstore.plus_40.apk.zip

It is funny that this issue has appeared around the same time as #436 ...

@yeriomin yeriomin mentioned this issue May 5, 2018
@ale5000-git
Copy link

ale5000-git commented May 5, 2018

@yeriomin

Here explain how to make Material Design apps compatible with API 8.

Also there can be <uses-sdk tools:overrideLibrary=" "/> in AndroidManifest.xml to override minSdk of libraries.

Also there is com.takisoft.fix:preference-v7 to fix problems of the official library.

@yeriomin
Copy link
Owner

yeriomin commented May 5, 2018

@ale5000-git

make Material Design apps compatible with API 8.

A bigger apk is not an issue for API 14 and up but might be an issue for API 8. And since API 5 has to be supported, it still wouldn't allow me to build just one version. The stackoverflow answer you linked is a bit old. The support library had different minsdk back then, so its not a trick, just an older support library.

<uses-sdk tools:overrideLibrary=" "/>

This will make it build, and then crash... unless I test every feature on every device. This is very hacky.

Also there is com.takisoft.fix:preference-v7 to fix problems of the official library.

com.android.support:preference-v7 is not used.

Thank you for your input, but unless I reimplement the drawer from scratch, the support library with its minsdk will have to stay. Or am I missing something?

@Rikk
Copy link

Rikk commented May 6, 2018

@yeriomin do you need some feedback about the Plus version?

  • When opening Yalp from a Google Play link (direct link to an app), options menu is not available; going to other page and back will make it appear.
  • Dark theme: menus have white background and white text, not readable.
  • App title over cover image is often white on white or black on black.
  • App cover image is displayed with wrong proportions, probably because the cover area is too tall; reducing the initial height of cover image would fit and look better.
  • Think about the versionCode for supporting both versions. Let's say
    40001 and 40002 where 40 = 0.40, 00 = build or minor version (0.40.0), 1=traditional 2=material
    Maybe would want to add extra field for architecture in the future.
    I like codes being the date, eg 2018050200

If you need screenshots I can post later, or if you are already aware of these things then okay.

@yeriomin
Copy link
Owner

yeriomin commented May 6, 2018

do you need some feedback about the Plus version?

Sure.

@Rikk

When opening Yalp from a Google Play link (direct link to an app)

You mean the launcher link? This means the installed apps page is displayed. It has no options menu, navigation moved to the drawer.

App title over cover image

Either image or title should be displayed. Title fades in as you scroll bottom and hide the image. Are they displayed simultaneously?

App cover image is displayed with wrong proportions

What are your screen proportions? What is your device?

Think about the versionCode for supporting both versions.

Is it a question? legacy flavor has sequential version codes, nothing changed. contemporary flavor version code is legacy flavor version code plus 1000. See the build script.

@Rikk
Copy link

Rikk commented May 7, 2018

Posting gifs explaining these. I question the necessity of fading title before it materialize into the top bar...
yalp cover issues
Look at this sequence:
missing menu
Images are at 100% of my screen (480x800).

@ale5000-git
Copy link

ale5000-git commented May 7, 2018

@yeriomin: Since at the end both versions will be stable, I think it could be better to publish them on F-Droid with 2 different internal names (something like com.github.yeriomin.yalpstore.legacy for the non-material version) (and also different external names) so both could co-exist on F-Droid on separate pages.

Both should have update checks so putting them with different versions and same internal name could only confuse people and automatic update checks.

@TPS
Copy link

TPS commented May 14, 2018

Aurora (@ https://gitlab.com/AuroraOSS/AuroraStore renamed from Galaxy @ https://github.com/whyorean/Galaxy) is a fork that accomplishes this.

@yeriomin
Copy link
Owner

@ale5000-git

publish them on F-Droid with 2 different internal names

Both should have update checks so putting them with different versions and same internal name could only confuse people and automatic update checks.

Their functionality will be identical, so I am planning to just build 2 apks with one package name. There will be no reason to use the legacy version for people with new devices, so they will automatically get the version with updated ui. I don't see a reason to make this an explicit choice.

Like here:
https://f-droid.org/en/packages/org.geometerplus.zlibrary.ui.android/

@Lonami
Copy link

Lonami commented May 20, 2018

I personally like the simple style of the application. It just works. And quoting README's FAQ:

Q: Why isn't Yalp Store using Material Design? Is it going to?
A: No. The priority for Yalp Store is backwards compatibility and size. It works on every android since Android 2.0 Eclair. Implementing Material Design would require adding a heavy dependency and a lot of purely-UI code.

Just my two cents, the application is good :)

@ghost
Copy link

ghost commented May 22, 2018

I dont see reson why we couldn't have material design because of 1% of old android users. Yalp store could be splitted into main app and legacy one for older devices.

@Lonami
Copy link

Lonami commented May 22, 2018

Having to maintain two applications is far from optimal or even desirable in my opinion… Even though it could work out easily with different builds, I guess. No idea how this works on F-Droid.

@yeriomin
Copy link
Owner

@Lonami Thanks! It won't change much. Like I said, the only noticeable incompatibility with the material design guidelines is/was the navigation drawer.

@Golbinex You didn't read the issue, did you? ;)

I dont see reson why we couldn't have material design

You can have anything you want, but I think UI should not be a priority. And most of it is material-design-compliant anyway already.

because of 1% of old android users.

Because I started Yalp Store as a client for old devices. New devices work just fine with gapps, old devices don't. Yalp Store being open source is a secondary benefit.

Yalp store could be splitted into main app and legacy one for older devices.

See the discussion above. It is done already. Once enough feedback comes in to consider it stable, I'll add it to f-droid.

@ale5000-git
Copy link

ale5000-git commented May 26, 2018

@yeriomin

Their functionality will be identical, so I am planning to just build 2 apks with one package name. There will be no reason to use the legacy version for people with new devices, so they will automatically get the version with updated ui. I don't see a reason to make this an explicit choice.

Can an user switch from one version to another and vice-versa without lost data?
If yes, then it will be good to have the same name.

I'm one of the rare users that mess continuously with the phone ;)
And I will sometime use the legacy version on a recent Android version.

@yeriomin
Copy link
Owner

@ale5000-git

Can an user switch from one version to another and vice-versa without lost data?

Like with other apps: up but not down. Android does not allow updates with version code lower than the installed. And f-droid apks must have the same package name and different version codes to be considered the same app by f-droid.

@Rikk
Copy link

Rikk commented May 28, 2018

Can an user switch from one version to another and vice-versa without lost data?

Yes, but you need to use 'pm' in command-line or adb.

@yeriomin what do you need for debugging/fixing the title bar (black, white or dark) that overlaps the cover image?

@yeriomin
Copy link
Owner

@Rikk Send me any feedback from the Yalp Store UI, mention your name or this issue number anywhere. Bug reports contain device info, recent logs.

@ale5000-git
Copy link

Android can downgrade while keep app data using adb install -r -d <path-of-an-apk>
I haven't yet tried but I hope it works.

@hodanli
Copy link

hodanli commented Jun 18, 2018

is there material version of 0.42.

@NitroNils
Copy link

NitroNils commented Jun 18, 2018 via email

@gohanko
Copy link

gohanko commented Jun 20, 2018

@NitroNils Too bad the creator haven't provided a OTA zip file. I saw the issue but wish he would do it periodically, I could though but not sure how

@anunaym14
Copy link

anunaym14 commented Jun 20, 2018

@TPS Just a heads-up. Aurora has moved its repository.
You can find it here : https://gitlab.com/AuroraOSS/AuroraStore

@TPS
Copy link

TPS commented Jun 21, 2018

@anunaym14 Fixed above, since @whyorean has clarified.

@yeriomin
Copy link
Owner

yeriomin commented Jul 3, 2018

Contemporary flavor can now be found on the github releases page. Built by travis-ci with every release. Next step - f-droid (if there are not too many bug reports).

@Lonami
Copy link

Lonami commented Jul 3, 2018

Sad, so material design is gonna be the default. Oh well, projects move forward. Thankfully this is a one-time application I don't run daily.

@yeriomin
Copy link
Owner

yeriomin commented Jul 3, 2018

@Lonami Don't worry.

  1. It does not differ that much.
  2. Old design is not going anywhere.

Functionality is and will be the same for both versions. For the last 3-4 months I have been testing building both versions similtaneously and it works fine. I am not going to have to implement every feature twice.

@yeriomin
Copy link
Owner

Time to close this. Please open new issues if something is wrong with the contemporary version, but not the legacy one. Or if you have any suggestions concerning the new UI.

@kg1701
Copy link

kg1701 commented Apr 2, 2021

I don't know? Personally I am lost 😐 sorry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests