Skip to content

Instantly share code, notes, and snippets.

View webianks's full-sized avatar
🎯
Focusing

Ramankit Singh webianks

🎯
Focusing
View GitHub Profile
@webianks
webianks / StickyAdBanner.kt
Created November 29, 2025 06:46
PL MiniApp - StickyAdBanner
package com.webianks.miniapps
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@webianks
webianks / HiddenDiscount.kt
Created November 28, 2025 11:06
PL MiniApp - HiddenDiscount
package com.webianks.miniapps
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.graphics.Color as AndroidColor
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
@webianks
webianks / StockTracker.kt
Created November 28, 2025 06:47
PL MiniApp - StockTracker Progress Indicator
package com.webianks.miniapps
import android.graphics.Color
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.animation.core.Animatable
import androidx.compose.animation.core.FastOutSlowInEasing
package com.webianks.miniapps
import android.graphics.Color as AndroidColor
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.BackHandler
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.annotation.DrawableRes
@webianks
webianks / MainActivity.kt
Created November 26, 2025 16:45
PL MiniApp - Black Friday Sale
package com.webianks.miniapps
import android.app.Activity
import android.content.Context
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.annotation.DrawableRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
class YoutubeUtils {
private val client = OkHttpClient()
suspend fun isYoutubeShortVideo(videoId: String): Boolean =
withContext(Dispatchers.IO) {
val url = "https://www.youtube.com/watch?v=$videoId"
val request = Request.Builder().url(url).build()
client.newCall(request).execute().use { response ->
@webianks
webianks / ScalingView.kt
Last active July 13, 2020 13:42
Achieving scale down/up and the onClick callback on CTA views with Compound Views, Gesture Detector, and ObjectAnimator in Android.
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.annotation.SuppressLint
import android.content.Context
import android.util.AttributeSet
import android.view.GestureDetector
import android.view.MotionEvent
import android.view.View
import android.widget.FrameLayout
import androidx.core.view.GestureDetectorCompat
@webianks
webianks / main.dart
Created August 23, 2019 11:32
Scanning Animation In Flutter
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:scanning_aimation/scanner.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
phoneNumberFocusNode.addListener(() {
bool hasFocus = searchData.phoneNumberFocusNode.hasFocus;
if (hasFocus)
showOverlay(context);
else
removeOverlay();
});
showOverlay(BuildContext context) {
if (overlayEntry != null) return;
OverlayState overlayState = Overlay.of(context);
overlayEntry = OverlayEntry(builder: (context) {
return Positioned(
bottom: MediaQuery.of(context).viewInsets.bottom,
right: 0.0,
left: 0.0,
child: InputDoneView());
});