Skip to content

Instantly share code, notes, and snippets.

View meet30997's full-sized avatar

MEET PRAJAPATI meet30997

View GitHub Profile
@meet30997
meet30997 / DataStoreObserve.kt
Last active September 5, 2022 06:42
DataStore Observe
viewModel.setUserName("Meet")
viewModel.getUsername.observe(this) {
binding.userName.text = it
}
@meet30997
meet30997 / DataStoreViewModel.kt
Created September 5, 2022 06:29
DataStore Viewmodel
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asLiveData
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.launch
import javax.inject.Inject
@HiltViewModel
class MainViewModel @Inject constructor(private val dataStoreManager: DataStoreManager) :
@meet30997
meet30997 / DataStoreGet.kt
Created September 5, 2022 06:15
Get Data From DataStore
fun getUserNameWithTryCatch(): Flow<String?> =
dataStore.data.catch { exception ->
if (exception is IOException) {
emit(emptyPreferences())
} else {
throw exception
}
}.map { myDataStore ->
myDataStore[userNameKey]
}
@meet30997
meet30997 / DataStoreStore.kt
Created September 5, 2022 06:10
DataStore StoreData
private val userNameKey = stringPreferencesKey("userNameKey")
suspend fun storeUserName(username: String): Preferences {
return dataStore.edit { myDataStore ->
myDataStore[userNameKey] = username
}
}
@meet30997
meet30997 / DataStoreKey.kt
Last active September 5, 2022 06:00
DataStore Key
import androidx.datastore.preferences.core.stringPreferencesKey
private val userNameKey = stringPreferencesKey("userNameKey")
@meet30997
meet30997 / DataStore.kt
Created September 5, 2022 05:52
Create DataStore Instance
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "MyDataStore")
@meet30997
meet30997 / flightModeManagerUsage.kt
Created August 23, 2022 12:36
Initialize And Use FlightModeManager
// Init flightMode Manager to handle warning dialog
private val flightModeManager by lazy { FlightModeManager(this) }
override fun onResume() {
super.onResume()
// Check flight Mode on OnResume
flightModeManager.checkFlightMode()
}
@meet30997
meet30997 / FlightModeManager.kt
Last active August 23, 2022 12:33
Check Flight Mode And Show Dialog Easily
class FlightModeManager(private val activity: AppCompatActivity) {
private var broadcastReceiver: BroadcastReceiver? = null
init {
initBroadcastReceiver()
// If Flight mode is off then we save false so we can show the dialog next time
// when user turn on the flight mode
if (!isFlightModeOn()) {
setFlightWarningShown(false)
}
@meet30997
meet30997 / main.dart
Created March 11, 2022 03:06
DartChildUpdateFromParent
import 'package:flutter/material.dart';
const Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
@meet30997
meet30997 / amazonScrapTotalOrderAmountSpendReport.js
Last active March 2, 2022 08:10
Amazon | Scrap the total amount you’ve ever spent on Amazon
let yearToStartTheSearchFrom = 2015;
let yearToEndTheSearch = 2022;
let startingIndex = 0;
let totalSpend = 0;
let globalSpend = 0;
for (let currentYear = yearToStartTheSearchFrom; currentYear <= yearToEndTheSearch; currentYear++) {
let isFetchCompleted = false;
while (!isFetchCompleted) {
const req = await fetch('https://www.amazon.in/gp/your-account/order-history/ref=ppx_yo_dt_b_pagination_3_1?ie=UTF8&orderFilter=year-' + currentYear + '&search=&startIndex=' + startingIndex, {