Skip to content

Instantly share code, notes, and snippets.

View ponnamkarthik's full-sized avatar

Karthik Ponnam ponnamkarthik

View GitHub Profile
@ponnamkarthik
ponnamkarthik / main.dart
Created April 22, 2018 10:02
example/main.dart in FlutterNativeLogPlugin
import 'package:flutter/material.dart';
import 'package:flutter_native_log/flutter_native_log.dart';
void main() => runApp(new MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => new _MyAppState();
}
@ponnamkarthik
ponnamkarthik / flatuicolros.xml
Created September 6, 2018 08:14
FlatUi Colors in XML
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="turquoise">#1ABC9C</color>
<color name="emerald">#2ECC71</color>
<color name="peter_river">#3498DB</color>
<color name="amethyst">#9B59B6</color>
<color name="wet_asphalt">#34495E</color>
<color name="green_sea">#16A085</color>
<color name="nephritis">#27AE60</color>
@ponnamkarthik
ponnamkarthik / main.dart
Last active December 22, 2018 07:22
NotificationListner
NotificationListener<ScrollNotification>(
onNotification: (ScrollNotification scrollInfo) {
if (scrollInfo.metrics.pixels ==
scrollInfo.metrics.maxScrollExtent) {
loadMore();
}
},
child: ListView.builder(
// ...
),
void loadMore() {
setState(() {
if((present + perPage )> originalItems.length) {
items.addAll(
originalItems.getRange(present, originalItems.length));
} else {
items.addAll(
originalItems.getRange(present, present + perPage));
}
present = present + perPage;
@ponnamkarthik
ponnamkarthik / main.dart
Created December 22, 2018 07:24
Our final main.dart file with auto loadmore on scroll will be
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
@ponnamkarthik
ponnamkarthik / main.dart
Created December 22, 2018 11:00
BottomNatigationBar with PageView
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
import 'dart:async';
import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
class DynamicLinks {
// create a link with params
static Future<Uri> createLinkWithParams(String code) =>
_getLink('mylink', {'code': code});
import android.text.TextUtils
import android.util.Base64
import com.android.billingclient.util.BillingHelper
import java.io.IOException
import java.security.InvalidKeyException
import java.security.KeyFactory
import java.security.NoSuchAlgorithmException
import java.security.PublicKey
import java.security.Signature
BillingClient mBillingClient;
// To get key go to Developer Console > Select your app > Development Tools > Services & APIs.
String base64Key = "PLACE_YOUR_KEY_HERE";
mBillingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {
@Override
public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
for(Purchase purchase: purchases) {
// When every a new purchase is made