Skip to content

Releases: Yazan98/Vanite

Support Jetpack Compose Applications

18 Feb 09:53
b5ec9af
Compare
Choose a tag to compare

Short Description

Add Support for Jetpack Compose Apps, Secured Prefs

Features

  1. Error Screen and Messages in Jetpack Compose
  2. Base ViewModel to Handle Errors, State
  3. Base State, Actions Within Same Dependency
  4. Base UseCases Within Same Dependency
  5. Base Compose Screen
  6. Base Compose Material 3 Colors Utility
  7. Support Secured Shared Prefs with Encrypted Values
  8. Support Shared Prefs with Coroutines

SDK Version Updates

Target SDK now is 33
Min SDK now is 21

Fix: Coroutine ViewModel Support UseCases Bug

01 Nov 01:33
Compare
Choose a tag to compare

Implementation

dependencies {
   implementation 'com.yazantarifi:Vanite:1.0.4'
   implementation 'com.yazantarifi:Vanite-data:1.0.4'
   implementation 'com.yazantarifi:Vanite-utils:1.0.4'
   implementation 'com.yazantarifi:Vanite-ui-binding:1.0.4'
   implementation 'com.yazantarifi:Vanite-ui:1.0.4'
   implementation 'com.yazantarifi:Vanite-prefs:1.0.4'
   implementation 'com.yazantarifi:Vanite-permissions:1.0.4'
   implementation 'com.yazantarifi:Vanite-log:1.0.4'
   implementation 'com.yazantarifi:Vanite-firebase:1.0.4'
}

Usage

Now VaniteCoroutineUseCasesViewModel -> getSupportedUseCases Method Will Take Any type of UseCase

Fix Constructor Injection in ViewModel

30 Sep 06:30
Compare
Choose a tag to compare

Fix ViewModel Type : (VaniteCoroutineViewModel)
From Init Block to Call initViewModel Method in init Block inside Sub ViewModels

This Change is a fix for Hilt Constructor Injection when Add UseCases Provided in Constructor

New Version

dependencies {
   implementation 'com.yazantarifi:Vanite:1.0.2'
   implementation 'com.yazantarifi:Vanite-data:1.0.2'
   implementation 'com.yazantarifi:Vanite-utils:1.0.2'
   implementation 'com.yazantarifi:Vanite-ui-binding:1.0.2'
   implementation 'com.yazantarifi:Vanite-ui:1.0.2'
   implementation 'com.yazantarifi:Vanite-prefs:1.0.2'
   implementation 'com.yazantarifi:Vanite-permissions:1.0.2'
   implementation 'com.yazantarifi:Vanite-log:1.0.2'
   implementation 'com.yazantarifi:Vanite-firebase:1.0.2'
}

Usage

@OptIn(ObsoleteCoroutinesApi::class)
@HiltViewModel
open class AuthViewModel @Inject constructor(
    private val getLoginUseCase: LoginUseCase,
    private val getRegisterUseCase: RegisterUseCase,
    private val getVerificationUseCase: AccountVerificationUseCase
) : VaniteCoroutineUseCasesViewModel() {

    init {
        initViewModel()
   }
}

Support More ViewModels

18 Aug 23:47
Compare
Choose a tag to compare

Support New ViewModels and Use Cases

New Changes

  1. Support Use Cases In ViewModels With Kotlin Coroutines
  2. Support Side Effect Listener in Base View Model
  3. Publish New Version: 1.0.1

New Classes Added to Vanite

  1. VaniteCoroutineUseCasesViewModel
  2. VaniteCoroutineViewModel
  3. VaniteUseCase

Main Idea

The Main Idea of this Change is that the Current ViewModels in Vanite is Not Supported Completly for Jetpack Compose and You need to do some workarounds to make it Supported in Composables for This Type of Applications the Structure of Vanite is Changed to Support another Way to Communicate with ViewModel by Coroutines

Rename Project

11 Mar 15:03
bd7552b
Compare
Choose a tag to compare

Rename Project

  1. Rename Dependencies
  2. Rename Classes
dependencies {
   implementation 'com.yazantarifi:Vanite:1.0.0'
   implementation 'com.yazantarifi:Vanite-data:1.0.0'
   implementation 'com.yazantarifi:Vanite-utils:1.0.0'
   implementation 'com.yazantarifi:Vanite-ui-binding:1.0.0'
   implementation 'com.yazantarifi:Vanite-ui:1.0.0'
   implementation 'com.yazantarifi:Vanite-prefs:1.0.0'
   implementation 'com.yazantarifi:Vanite-permissions:1.0.0'
   implementation 'com.yazantarifi:Vanite-log:1.0.0'
   implementation 'com.yazantarifi:Vanite-firebase:1.0.0'
}

Gradle Changes

07 Feb 16:46
Compare
Choose a tag to compare

Gradle Sub Projects Changes

  1. Fix Artifacts Jars
  2. Fix Gradle Plugin Version

Gradle Plugin

05 Feb 16:05
ccc38c4
Compare
Choose a tag to compare

Gradle Plugin Dependencies

This Plugin is a Gradle Plugin to Include The Required Vortex Dependencies into Each Module
By Adding Just The Plugin Name and The Plugin Name Will Start on Each Module
and Validate them Based on Name to Add Dependencies

New Version: 2.2.1
Gradle Portal Link

Implementation

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.io.vortex.gradle.plugin.dependencies:vortex-dependencies-plugin:1.1.0"
  }
}

apply plugin: "io.vortex.gradle.plugin.dependencies"

New Feature
ViewBinding Now is Supported By

vortex {
    features {
        isViewBindingEnabled = true
    }
}

Support New Type of ViewBinding

05 Feb 15:02
Compare
Choose a tag to compare

Support New Type of ViewBinding in BaseFragments

  1. Add State, Actions to Fragments With ViewBinding
  2. Add SingleLiveData in Library
  3. Add Comments in Important Classes
  4. Fix BaseFragments initScreen Method in ViewBinding Classes
  5. Add getCurrentContext to Check on Nullability Before Return Context to Sub Classes
  6. Publish New Version on Maven Central (2.2.1)
dependencies {
   implementation 'com.yazantarifi:vortex:2.2.1'
   implementation 'com.yazantarifi:vortex-data:2.2.1'
   implementation 'com.yazantarifi:vortex-utils:2.2.1'
   implementation 'com.yazantarifi:vortex-ui-binding:2.2.1'
   implementation 'com.yazantarifi:vortex-ui:2.2.1'
   implementation 'com.yazantarifi:vortex-prefs:2.2.1'
   implementation 'com.yazantarifi:vortex-permissions:2.2.1'
   implementation 'com.yazantarifi:vortex-log:2.2.1'
   implementation 'com.yazantarifi:vortex-firebase:2.2.1'
}

Migration to Maven Central

04 Feb 23:23
171ea9e
Compare
Choose a tag to compare

Update Library Components

  1. Migration from Bintray to Maven Central
  2. Fix Some Bugs in Base Code
  3. Code Enhancements
  4. Remove Deprecated Libraries, Methods
  5. Remove Un Necessary Libraries
  6. Upgrade Libraries to Latest Version
  7. Support ViewBinding In UI Layer

New Library Implementation

   implementation 'com.yazantarifi:vortex:2.2.0'
   implementation 'com.yazantarifi:vortex-data:2.2.0'
   implementation 'com.yazantarifi:vortex-utils:2.2.0'
   implementation 'com.yazantarifi:vortex-ui-binding:2.2.0'
   implementation 'com.yazantarifi:vortex-ui:2.2.0'
   implementation 'com.yazantarifi:vortex-prefs:2.2.0'
   implementation 'com.yazantarifi:vortex-permissions:2.2.0'
   implementation 'com.yazantarifi:vortex-log:2.2.0'
   implementation 'com.yazantarifi:vortex-firebase:2.2.0'