Android Widget for Ford Mustang Mach-E

Related tags

App MachEWidget
Overview

Mustang Mach-E Widget for Android

Intro

This app/widget is based on the work of Anthony (tonesto7), which is in turn based on the earlier work of David Schablowsky. It is not a complete implementation of the functionality of his widget, as it:

  • is only intended for the Ford Mustang Mach-E, as that's the only Ford I own
  • does not include all the function of tonesto7's Apple/iOS widget
  • does not currently support accounts outside of the United States

Widget example

My purpose for hosting this code on GitHub under the GPL v3 license is to provide a starting point for anyone who wants to extend its functionality.

Downloads

Download the app-release.apk file and sideload on your Android device.

Requirements

  • Android 10, 11, or 12 (may work on earlier Android versions, but not tested)
  • FordPass account (has to be working with FordPass app, and NOT MyFord Mobile)

Features

  • Will automatically fetch data from servers (default is every 10 minutes, but configurable)
  • Shows recent OTA information

Known Issues & Limitations

As listed above, this app

  • is only intended for the Ford Mustang Mach-E, as that's the only FOrd I own
  • does not include all the function of tonesto7's Apple/iOS widget
  • is not guaranteed to support accounts outside of the United States

Credits

Thanks to tonesto7 for his work on the new widget, and to dschablowsky for his work on the original widget, d4v3y0rk for finding out the information about the ford api. Additional thanks to marco79cgn and Tobias Battenberg for your widgets.

Many of the icons used in this app are derived from free ones found on Icon8; thanks to the original creators.

Disclaimer

I was inspired to create this app for Android in order to see more information about my vehicle, and to learn new things about Android programming. I am not employed by Ford, and this app is not supported by Ford. The API used can be changed at any time by Ford. I am NOT liable for any kind of damage (special, direct, indirect, consequential or whatsoever) resulting from the use of this app.

License

This code is released as open source software under the GPL v3 license: see the LICENSE file in the project root for the full license text.

Comments
  • Bug - Widget not updating

    Bug - Widget not updating

    My widget has stopped updating, even when I click refresh manually Here's the logcat output from when I click refresh: 2022-02-09 17:12:01.629 1204-13293/? D/SamsungAlarmManager: Cancel Alarm calling from uid:10594 pid :20044 / OP:PendingIntent{498b493: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.630 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171206 now=1177728372 - CU:10594/CP:20044/OP:PendingIntent{8bbdcd0: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.632 1204-13287/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171206 now=1177728374 - CU:10594/CP:20044/OP:PendingIntent{e2494c9: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:01.635 20044-20044/? V/Toast: show: caller = com.example.khughes.machewidget.MainActivity.onOptionsItemSelected:140 2022-02-09 17:12:01.645 1204-13287/? V/WindowManager: Changing focus from Window{fe03fed u0 PopupWindow:219fc11} to Window{1ab1f8d u0 com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity} displayId=0 Callers=com.android.server.wm.RootWindowContainer.updateFocusedWindowLocked:582 com.android.server.wm.WindowManagerService.updateFocusedWindowLocked:6419 com.android.server.wm.WindowManagerService.relayoutWindow:2740 com.android.server.wm.Session.relayout:242 2022-02-09 17:12:01.675 1088-1088/? I/SurfaceFlinger: [1ab1f8d com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity#0] FrameRatePriority: 1 2022-02-09 17:12:01.678 1204-13293/? D/InputDispatcher: Focus entered window (0): 1ab1f8d com.example.khughes.machewidget/com.example.khughes.machewidget.MainActivity 2022-02-09 17:12:01.749 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cf7230 | 0100 | RGBA_8888 | 0.0 0.0 648.0 864.0 | 432 38 1080 902 | PopupWindow:219fc11$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8cbdd50 | 0100 | RGBA_8888 | 0.0 0.0 906.0 132.0 | 87 2076 993 2208 | Toast$_5625#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:02.002 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8cbdd50 | 0100 | RGBA_8888 | 0.0 0.0 906.0 132.0 | 87 2076 993 2208 | Toast$_5625#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:02.150 1204-1524/? D/SGM:GameManager: identifyForegroundApp. com.example.khughes.machewidget, mCurrentUserId: 0, callerUserId: 0 2022-02-09 17:12:02.150 1204-1524/? D/SGM:PkgDataHelper: getGamePkgData(). com.example.khughes.machewidget 2022-02-09 17:12:03.997 1204-5788/? W/NotificationService: Toast already killed. pkg=com.example.khughes.machewidget token=android.os.BinderProxy@f582ba9 2022-02-09 17:12:04.527 1088-1088/? D/SurfaceFlinger: Display 4630947232161729153 HWC layers: DEVICE | 0xb400007ac8d03440 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 2400.0 | 0 0 1080 2400 | com.example.khughes.machewidget/com.[...]es.machewidget.MainActivity$_20044#0 DEVICE | 0xb400007ac8cd1580 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 73.0 | 0 0 1080 73 | StatusBar$_5625#0 DEVICE | 0xb400007ac8ce8e60 | 0100 | RGBA_8888 | 0.0 0.0 67.0 457.0 | 1013 356 1080 813 | com.samsung.android.app.cocktailbars[...]rservice.CocktailBarService$_12373#0 DEVICE | 0xb400007ac8d077c0 | 0100 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2256 1080 2400 | NavigationBar0$_5625#0 2022-02-09 17:12:10.381 1204-2111/? V/SamsungAlarmManager: Sending to uid : 10594 action=null alarm=Alarm{a4742b6 type 0 origWhen 1644451926629 whenElapsed 1177733372 com.example.khughes.machewidget} 2022-02-09 17:12:10.384 1204-2111/? D/ActivityManager: Received BROADCAST intent 0xb1647fe Key{broadcastIntent pkg=com.example.khughes.machewidget intent=cmp=com.example.khughes.machewidget/.StatusReceiver flags=0x4000000 u=0} requestCode=0 sent=0 from uid 1000 2022-02-09 17:12:10.401 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171710 now=1177737142 - CU:10594/CP:20044/OP:PendingIntent{c63ef24: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}} 2022-02-09 17:12:10.403 1204-13293/? D/SamsungAlarmManager: setInexact (T:0/F:0/AC:false) 20220209T171710 now=1177737145 - CU:10594/CP:20044/OP:PendingIntent{341fa8d: PendingIntentRecord{b1647fe com.example.khughes.machewidget broadcastIntent}}

    bug 
    opened by mporet 28
  • Transparency background in 2022.08.23

    Transparency background in 2022.08.23

    the transparency background in/since 2022.08.23 is incorrect in the widget itself and in the intro page, but not in the settings... i have a dark/black background, transparency enabled and it was all good before this release.

    Screenshot_20220823-205738_copy_720x1440Screenshot_20220823-205722_copy_720x1440Screenshot_20220823-205758_copy_720x1440

    bug 
    opened by Eddict 15
  • Refresh time off by 4 hours

    Refresh time off by 4 hours

    I've noticed my refresh time is 4 hours behind. I can force a manual refresh and if it is successful it shows exactly 4 hours behind the actual time of refresh. When I look at the time of refresh instead of how long ago it was, it shows the wrong time, also 4 hours off. So for example if I successfully refreshed at 11:37 am EDT it shows the last successful refresh as 4 hours ago, or 7:37 am EDT. I thought this might have been an issue for a while, but I couldn't really confirm until I had the ability to force a manual refresh.

    opened by the-static 14
  • F150

    F150

    I have a 21 f150, I logged into the widget and can see a lot of info. I'd be happy to test some f150 specific updates if you are interested in pursuing that, I know the tonesto iOS widget it very popular on the f150 forum, so the user base is there.

    enhancement 
    opened by the-static 13
  • Added kuga, which is a European escape

    Added kuga, which is a European escape

    This is meant as a suggested contribution, if you disagree with the method chosen feel free to edit it. I'm not a java developer so maybe I screwed up somewhere (it works with my vehicle, cannot test on others).

    My kuga was detected as "other" and it works perfectly after modifying the it to match a PHEV instead of electric as I was missing the fuel gauge. The European Kuga is the same car as the American Escape, there is no difference except some badges and engine options .

    The modifications are as follows:

    • excluded kuga from the mache select since it thinks all Europeans drive full electric
    • Added kuga vin selection for what I know: Model number is M, Type is H or F (for Hybrid or Fueled I guess?), years are KLMN (2019-2022): e.g. mine is a MHL.

    Issues:

    • As far as I know there is now way to determine the PHEV from the FHEV from the VIN alone.
    • I have no AWD VIN, maybe those have different model numbers.
    opened by consp 12
  • Vehicle image samples for automatic color selection

    Vehicle image samples for automatic color selection

    Instructions for locating the images:

    1. Your phone needs to be rooted; there's no easy way otherwise to access the app's data
    2. Using root, locate the app's internal data storage (on my phone, it's /data/data/com.example.khughes,machewidget for the GitHub version and /data/data/org.khpylon.fswidget for the Play Store version)
    3. Copy the image file(s) under shared_prefs/images to somewhere else.
    4. Rename the files vehicle-color.png (i.e., mache-rapidred.png , f150supercab-iconicsilver.png).
      Include the file name above the image, and check whether there's already another vehicle with the same color before posting.

    Don't resize the images if possible; I need them the original size.

    mache-rapidred.png

    mache-rapidred

    help wanted 
    opened by khpylon 11
  • App is unable to get list of vehicles.

    App is unable to get list of vehicles.

    Put my login info in and get a login successful message, but then get a popup unable to get vehicles. I have uninstalled and reinstalled the app same issue.

    The app has be working for me for several months and this just started, I think a few days ago. I am on a pixel 7 and have a F150 Lightning.

    bug 
    opened by mikec85 9
  • Widget display N/A & app crashing

    Widget display N/A & app crashing

    Summary of actions:

    Phone: Samsung Galaxy S21 5G, Android 12

    1. Download latest APK
    2. Install successful
    3. Open app. Turn on logging, turn off location & app launcher options.
    4. Enter VIN, u/n & password & click log in
    5. Success popup displayed
    6. Download log (mache_logfile (3).txt)
    7. Add widget to home screen (tried Lawnchair launcher and also Samsung Launcher).
    8. WIDGET DISPLAY N/A FOR ALL VALUES (screenshot attached)
    9. Opening config app, crashes immediately w/ no error
    10. Remove widget from home screen
    11. Open app successful, download log (mache_logfile (4).txt)

    Screenshot_20220330-075315_Lawnchair

    bug 
    opened by neildmc 7
  • Vehicle Images Are Not Loading, Error in Logs

    Vehicle Images Are Not Loading, Error in Logs

    The vehicle images won't load in the app for me. The log file shows the following info:

    09/12 09:47:17 D OkHttp3: <-- 401 Unauthorized https://www.digitalservices.ford.com/fs/api/v2/vehicles/image/full?vin=&year=2022&countryCode=USA&angle=3 (72ms) 09/12 09:47:17 D OkHttp3: <-- 401 Unauthorized https://www.digitalservices.ford.com/fs/api/v2/vehicles/image/full?vin=&year=2022&countryCode=USA&angle=5 (68ms)

    (Full log attached) fsw_logfile-09-12-09_53_17.txt

    (Fresh log file attached) fsw_logfile-09-22-08_07_48.txt

    bug 
    opened by ghartz70 6
  • Bug: Widget confused by unactivated vehicle, I think?

    Bug: Widget confused by unactivated vehicle, I think?

    I've added a second vehicle to my FordPass account, an F-150 that has not been activated yet, and it seems the widget is confused by this.

    05/31 12:07:46 I 934TXS: updateAppWidget(): last vehicle update was 27164 minutes ago.
    05/31 12:07:46 I 934TXS: updateAppWidget(): last vehicle update was 27164 minutes ago.
    05/31 12:07:50 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:50 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:56 I 934TXS: StatusReceiver: next status alarm at 05/31 12:08:01
    05/31 12:07:58 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:58 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:59 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:07:59 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:08:01 I 934TXS: StatusReceiver: next status alarm at 05/31 13:08:01
    05/31 12:08:01 D 934TXS: StatusReceiver: time(-1,627,447), state(HAVE_TOKEN), battery optimization(false)
    05/31 12:08:01 D 934TXS: need to get vehicle info
    05/31 12:08:01 D 934TXS: StatusReceiver status history: Logged out(0) Log out(0) Log in(0) Updated(1,331) Vehicle Info(413) Unknown(0)
    05/31 12:08:01 D OkHttp3: --> POST https://api.mps.ford.com/api/expdashboard/v1/details
    05/31 12:08:01 D OkHttp3: Content-Type: application/json; charset=utf-8
    05/31 12:08:01 D OkHttp3: Content-Length: 130
    05/31 12:08:01 D OkHttp3: locale: en-US
    05/31 12:08:01 D OkHttp3: user-agent: FordPass/5 CFNetwork/1327.0.4 Chrome/96.0.4664.110
    05/31 12:08:01 D OkHttp3: auth-token: [deleted]
    05/31 12:08:01 D OkHttp3: application-id: 71A3AD0A-CF46-4CCF-B473-FC7FE5BC4592
    05/31 12:08:01 D OkHttp3: countrycode: USA
    05/31 12:08:01 D OkHttp3: 
    05/31 12:08:01 D OkHttp3: {"entityRefresh":{"userVehicles":{"If-Modified-Since":"Thu, 12 May 2022 19:33:54 GMT"}},"dashboardRefreshRequest":"EntityRefresh"}
    05/31 12:08:01 D OkHttp3: --> END POST (130-byte body)
    05/31 12:08:02 D OkHttp3: <-- 401 https://api.mps.ford.com/api/expdashboard/v1/details (528ms)
    05/31 12:08:02 D OkHttp3: cache-control: no-cache, no-store, max-age=0, must-revalidate
    05/31 12:08:02 D OkHttp3: pragma: no-cache
    05/31 12:08:02 D OkHttp3: content-type: application/json
    05/31 12:08:02 D OkHttp3: expires: 0
    05/31 12:08:02 D OkHttp3: strict-transport-security: max-age=31536000 ; includeSubDomains
    05/31 12:08:02 D OkHttp3: x-application-context: dashboard-service:cloud,prod:22
    05/31 12:08:02 D OkHttp3: x-b3-spanid: 5752b0817afdaad1
    05/31 12:08:02 D OkHttp3: x-b3-traceid: 1f17868cce5507fb5752b0817afdaad1
    05/31 12:08:02 D OkHttp3: x-build-version: dashboard-service 0.0.1-480-g0dfd6aa
    05/31 12:08:02 D OkHttp3: x-content-type-options: nosniff
    05/31 12:08:02 D OkHttp3: x-frame-options: DENY
    05/31 12:08:02 D OkHttp3: x-vcap-request-id: 9f44ea73-3c09-417c-75dd-03c61c12e31c
    05/31 12:08:02 D OkHttp3: x-xss-protection: 1; mode=block
    05/31 12:08:02 D OkHttp3: date: Tue, 31 May 2022 16:08:00 GMT
    05/31 12:08:02 D OkHttp3: via: 1.1 google
    05/31 12:08:02 D OkHttp3: x-from: apim
    05/31 12:08:02 D OkHttp3: x-glb-version: 1.35
    05/31 12:08:02 D OkHttp3: alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
    05/31 12:08:02 D OkHttp3: 
    05/31 12:08:02 D OkHttp3: {"requestStatus":"UNAVAILABLE","error":{"statusContext":"FIG","statusCode":200,"message":"Auth token validation failed"},"lastRequested":"Tue, 31 May 2022 16:08:01 GMT","status":200}
    05/31 12:08:02 D OkHttp3: <-- END HTTP (182-byte body)
    05/31 12:08:02 I 934TXS: getVehicles UNSUCCESSFUL.05/31 12:08:14 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    05/31 12:08:14 I 934TXS: updateAppWidget(): last vehicle update was 27165 minutes ago.
    
    

    I'm seeing a 401 in the log, so I tried logging in again, and no change.

    I realize this is a very specific edge case.

    opened by mikebaz 5
  • Add explanation about the colors/statuses of the notification icon

    Add explanation about the colors/statuses of the notification icon

    in the info screen every icon's status and meaning is properly described and explained, but the notification icon 🔔 seems missing. cause mine is quite frequently red and I don't know exactly what is the underlying reason. or am I blind? 🙈

    opened by Eddict 4
  • OTA Info Not Updating

    OTA Info Not Updating

    Hello - The last 2-3 OTA updates have not registered in the app. Let me know if you need anything from me. Thanks for all the work you do. Love the app.

    bug 
    opened by skiingj 2
  • Feature Request - Wear OS Companion App

    Feature Request - Wear OS Companion App

    It would be awesome since Ford doesn't seem to be supporting watches (never a Wear OS one and removed support for iOS watch) if you could leverage the existing widget functionality to make a simple Wear OS companion app that would send the existing lock/unlock/remote start capabilities.

    enhancement 
    opened by CHeil402 2
Owner
null
TIRO - Time Is Running Out : Productivity app and widget for Android

TIRO-2022 TIRO - Time Is Running Out : Productivity app and widget for Android The purpose of this app is to let you know how much remaining time you

Alubecki 2 Aug 28, 2022
Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you launch a web browser-like app on the cover.

SubUI-browser Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you lau

null 35 Dec 24, 2022
android-delicious Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play.

Delicious Android Delicious Android is an Android app which helps you access and save bookmarks via Delicious. It's available over at Google Play. Fea

Alexander Blom 137 Nov 20, 2022
Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo.

CutoutScreenSupport Android cutout screen support Android P. Android O support huawei, xiaomi, oppo and vivo. Usage whether the mobile phone is cutout

hacket 5 Nov 3, 2022
FoldingNavigationDrawer-Android This is a sample project present how to use Folding-Android to add Folding Efect to Navigation Drawer.

FoldingNavigationDrawer-Android Sample (Play Store Demo) This is a sample project present how to use Folding-Android to add Folding Efect to Navigatio

null 242 Nov 25, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
:movie_camera: Movie discovery app showcasing Android best practices with Google's recommended architecture: MVVM + Repository + Offline support + Android Architecture Components + Paging library & Retrofit2.

Popular Movies Stage 1 + Stage 2 Discover the most popular and top rated movies playing. Movies data fetched using themoviedb.org API. ✨ Screenshots M

Yassin AJDI 189 Nov 26, 2022
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!

Spokestack is an all-in-one solution for mobile voice interfaces on Android. It provides every piece of the speech processing puzzle, including voice

Spokestack 57 Nov 20, 2022
Aggregated Android news, articles, podcasts and conferences about Android Development

DroidFeed Curated news feed for Android Developers! Stay up to date with the latest Android Development news. Built for the Android developer communit

Dogan Gulcan 183 Dec 2, 2022
Shreyas Patil 2.1k Dec 30, 2022
A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar

#Android-LollipopShowcase This is a simple showcase to show off Android's all new Material Design and some other cool new stuff which is (new) in Andr

Mike Penz 1.8k Nov 10, 2022
The Android startup used to schedule tasks, jobs while launching Android App.

Android Startup, schedule your startup jobs Introduction AndroidStartup is an open source project used to refine your Andriod App startup. Compared wi

ShouHeng 46 Aug 24, 2022
Android playground project with modularization by feature (android libraries), unit tests, MVVM & MVI.

Movies Movies is a simple project to study and play with some android components, architecture and tools for Android development. Tech Stack This proj

Christopher Elias 333 Dec 30, 2022
🌄 Photo editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 242 Dec 28, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022
A simple Android app to demonstrate the use of Hover SDK for M-PESA Send Money while offline. This SDK does not require an internet connection, it automates USSD sessions in the background of an android application.

HoverSDKDemo Hover SDK is an Android SDK that lets mobile developers to add money features to the applications. This SDK does not require an internet

Joel Kanyi 9 Dec 21, 2022
Source code of JekyllEx Android App which can manage your Jekyll blog directly from your Android device!

JekyllEx Android App Built with ❤︎ by Gourav Khunger ?? Introduction JekyllEx is an Android App that allows you to manage a Jekyll Blog directly from

JekyllEx 24 Nov 8, 2022
A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools

Quotee Android ?? A Simple and Minimal Quotes Android Application to demonstrate the Modern Android Development tools. Developed with ❤️ by Aminullah

null 12 Aug 24, 2022
🎥 A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose.

ComposeMovie Android ?? A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose. Built with

null 13 Oct 1, 2022