Giter Club home page Giter Club logo

williamgates99 / warrantyroster Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 3.0 8.64 MB

Warranty Roster is a free and user-friendly management tool to store, organize and track all your product warranties on the cloud.

Home Page: https://xeniac.ir

License: Apache License 2.0

Kotlin 100.00%
android app application clean-architecture cloud firebase firebase-auth firestore hilt kotlin management manager mvvm warranty warranty-management warranty-manager xml

warrantyroster's Introduction

Hey! I'm William. 👋🏻

I have been an Android Developer for over five years and currently work as a freelancer. I specialize in both Kotlin and Java Android Development. I am dedicated to continuously developing, implementing, and adopting new technologies to maximize development efficiency and produce innovative applications.

In addition to my skills in coding, I am skilled in UI/UX Design and English to Persian Translation.

Skills

  • 👨🏻‍💻 Kotlin • Java • Jetpack Compose • Kotlin Flows
  • 👷🏻‍♂️ MVVM & MVI with Clean Architecture • DI with Hilt • TDD
  • ⚙️ Firebase • Ktor Client • Retrofit • Apollo GraphQL
  • 💽 ROOM Database • SQLite • SQL
  • 🖼️ UI/UX Design


Contact Me

linkedindribbbletelegramxinstagramdiscordemailother

warrantyroster's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

warrantyroster's Issues

Forgot Password page timer issue

Timer won't work properly if a user tries to send reset password to a different email address when the previous timer is still running.

App crashes after setCurrentAppLocale() is called

After calling setCurrentAppLocale() either in OnBoardingFragment or SettingsFragment, App crashes and gives the exception in the logs:

FATAL EXCEPTION: main Process: com.xeniac.warrantyroster_manager.dev.debug, PID: 19998 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xeniac.warrantyroster_manager.dev.debug/com.xeniac.warrantyroster_manager.core.presentation.main.MainActivity}: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.xeniac.warrantyroster_manager.settings.presentation.settings.SettingsFragment: could not find Fragment constructor at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3641) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3778) at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5779) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5670) at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2303) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7884) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Caused by: androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment com.xeniac.warrantyroster_manager.settings.presentation.settings.SettingsFragment: could not find Fragment constructor at androidx.fragment.app.Fragment.instantiate(Fragment.java:681) at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:507) at androidx.fragment.app.FragmentState.instantiate(FragmentState.java:81) at androidx.fragment.app.FragmentStateManager.<init>(FragmentStateManager.java:85) at androidx.fragment.app.FragmentManager.restoreSaveStateInternal(FragmentManager.java:2507) at androidx.fragment.app.Fragment.restoreChildFragmentState(Fragment.java:1992) at androidx.fragment.app.Fragment.onCreate(Fragment.java:1968) at androidx.navigation.fragment.NavHostFragment.onCreate(NavHostFragment.kt:169) at androidx.fragment.app.Fragment.performCreate(Fragment.java:3099) at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:257) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:113) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1435) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2979) at androidx.fragment.app.FragmentManager.dispatchCreate(FragmentManager.java:2886) at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:252) at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:220) at com.xeniac.warrantyroster_manager.core.presentation.main.MainActivity.onCreate(MainActivity.kt:59) at android.app.Activity.performCreate(Activity.java:8341) at android.app.Activity.performCreate(Activity.java:8320) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1417) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3622) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3778)  at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5779)  at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5670)  at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71)  at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:138)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2303)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loopOnce(Looper.java:201)  at android.os.Looper.loop(Looper.java:288)  at android.app.ActivityThread.main(ActivityThread.java:7884)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)  Caused by: java.lang.NoSuchMethodException: com.xeniac.warrantyroster_manager.settings.presentation.settings.SettingsFragment.<init> [] at java.lang.Class.getConstructor0(Class.java:2363) at java.lang.Class.getConstructor(Class.java:1759) 2023-05-10 13:41:33.734 19998-19998 AndroidRuntime com...rantyroster_manager.dev.debug E at androidx.fragment.app.Fragment.instantiate(Fragment.java:666) ... 37 more

Login with Facebook Account and Link Facebook Account Returns Error

After trying to log in with a Facebook account or link a Facebook account to the current Warranty Roster account, the app shows a snackbar with the message "Something went wrong. Please try again later."

App log:
launchFacebookLoginManager Callback Exception: User logged in as different Facebook user.

Firebase auth is not responding

Firebase auth gives this exception:

An internal error has occurred. [ Instantiation of JsonResponse failed! class com.google.android.gms.internal.firebase-auth-api.f0 ]

This issue is probably caused by R8 full mode enabled by default in AGP 8.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.