Skip to content

Instantly share code, notes, and snippets.

View tahaak67's full-sized avatar
💭
Have a wonderful day

Taha Ben Ashur tahaak67

💭
Have a wonderful day
View GitHub Profile
@tahaak67
tahaak67 / RememberWindowInfo.kt
Created February 23, 2023 10:32
A utility fun for compose to determin if current device is a phone (compact) or tablet (medium / expanded)
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
@Composable
fun rememberWindowInfo(): WindowInfo {
val configuration = LocalConfiguration.current
return WindowInfo(
@tahaak67
tahaak67 / AndroidImagePicker.kt
Created February 19, 2023 13:03
An example of image picker in jetpack compose, the image is diplayed using Coil library.
//make sure your target sdk is 33+ and androidx.activity:activity-compose dependency is updated
var imageUri by remember {
mutableStateOf<Uri?>(null)
}
val imageLauncher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.PickVisualMedia(),
onResult = { uri -> imageUri = uri }
)
Column(modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally) {
Button(onClick = {
@tahaak67
tahaak67 / Resource.kt
Created February 8, 2023 15:37
Resource wraper class with Success, Error and Loading states.
/**
* Created by Taha Ben Ashur (https://github.com/tahaak67) on 08,Feb,2023
*/
sealed class Resource<T>(
val data: T? = null,
val message: String? = null
) {
class Success<T>(data: T) : Resource<T>(data)
@tahaak67
tahaak67 / FlutterApi.dart
Last active May 27, 2021 18:58
How to make Rest api request and save data to object in Flutter(android studio)
//Dependencies
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;
//Album = Object/Class name
//fetchAlbum() = function name
//Gnerate dart class from json using JsonToDart for Android Studio https://plugins.jetbrains.com/plugin/12562-jsontodart-json-to-dart-/
Future<Album> fetchAlbum() async {
final response =