InvisibleWrench/FlutterMidiCommand

Lowering the minSDKversion (Android) to 23 or 24 to be able to use older devices as midi controllers

anzbert opened this issue · 4 comments

Hey !

Is there any good reason why we are using 25 as the minSDKversion in this library for Android?
According to this list of android APIs and versions, we are requiring Nougat v7.1 at the moment.
The Midi API on Android was introduced in Marshmellow (v6.0).

Is there any reason why we wouldn't change minSDKversion to 23 (v6.0) or at least 24 (v7.0), to be more inclusive and to help reduce E-Waste by allowing old devices to be used as a midi controller?

Thanks for any contribution :)

Actually I think its possible to go even lower.

Is it possible for you to test it on older devices? Feel free to make a pull request.

hey @mortenboye.

Thx for getting on board with this. I made an open source app using FlutterMidiCommand and a user has brought up this issue, since they wanted to use their old devices as Midi Controllers, which I think is a great idea.

I don't have a Marshmellow phone myself unfortunately, but I believe it should be safe. If I am not missing anything here, I don't think there is an Android API feature that we need, that Marshmellow doesnt provide.

Going lower than Marshmellow will cause issues though, in my opinion. Since 'android.media.midi' was only introduced then. See here.

I'll do the pull request and I guess I could at least test if it compiles for a Marshmellow emulator?

Ok. Ive run the tests with different emulator versions with the Example app.

The lowest version that runs it without crashing on app startup is Nougat 7.0 (on an emulated old school Nexus 6). That would be SDK 24.

I'll submit a PR with that as the minSDK :)

Thx for approving @mortenboye !!