Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Parth Desai parthdesai1208

🏠
Working from home
View GitHub Profile
@parthdesai1208
parthdesai1208 / Interceptors
Created Nov 16, 2022
Retrofit interceptors
View Interceptors
Gzip interceptors = for data compression
public class GzipRequestInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request originalRequest = chain.request();
if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
return chain.proceed(originalRequest);
}
Request compressedRequest = originalRequest.newBuilder()
View to get foldable postures
//WindowStateUtils.kt
/**
* Information about the posture of the device
*/
sealed interface DevicePosture {
object NormalPosture : DevicePosture
data class BookPosture(
val hingePosition: Rect
) : DevicePosture
@parthdesai1208
parthdesai1208 / App.kt
Created Oct 14, 2022
shared preferences using kotlin delegation
View App.kt
val sharedApplicationContext: Context get() = sharedApplicationContextBackingProperty
?: throw IllegalStateException(
"Application context not initialized yet."
)
private var sharedApplicationContextBackingProperty: Context? = null
class App : Application() {
override fun onCreate() {
super.onCreate()
View interview programs
**************************************************************************************************************************************
Sort without sort function
**************************************************************************************************************************************
val numbers = mutableListOf(4, 8, 32, 2, 5, 8)
var temp: Int
for (i in 0 until numbers.size) {
for (j in i + 1 until numbers.size) {
if (numbers[i] > numbers[j]) {
temp = numbers[i]
View UI testing examples
******************************************************************************************************************************************
ex-1
statement = here, we want to test that, from 3 tabs, whatever value is set for current screen so according that same tab should selected.
******************************************************************************************************************************************
passed case)
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun rallyTopAppBarTest() {
View Compose Animation
*********************************************************************************************************************************
AnimatedVisibility - without params
*********************************************************************************************************************************
@Preview(showSystemUi = true)
@Composable
fun SimpleAnimatedVisibility() {
var visibility by remember { mutableStateOf(true) }
Column(
modifier = Modifier.fillMaxSize(),
View Component for light-dark theme
*********************************************************************************************************************************
Image
*********************************************************************************************************************************
Usage:
painter = painterResource(id = OwlTheme.images.lockupLogo)
---------------------------------------------------------------------------------
data class:
@Immutable
data class Images(@DrawableRes val lockupLogo: Int)
View compose theme
values/themes.xml
<resources>
<style name="Theme.ComposeTheming" parent="Theme.Material.DayNight.NoActionBar">
<item name="android:statusBarColor">@color/status_bar</item>
</style>
<style name="Theme.Material.DayNight.NoActionBar" parent="@android:style/Theme.Material.Light.NoActionBar" />
</resources>
--------------------------------------------------------------------------------------------------------------------------
View Constraintlayout
@Preview(showSystemUi = true)
@Composable
fun ConstraintLayoutContentPreview() {
ComposeTheme {
ConstraintLayoutContent()
}
}
//(1)----------------------------------Basic------------------------------------
@Composable
fun ConstraintLayoutContent() {
View custom layout
//implement custom column
@Composable
fun MyOwnColumn(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
modifier = modifier,
content = content
) { measurables, constraints ->