Skip to content

Instantly share code, notes, and snippets.

@Plinzen
Plinzen / app-build.gradle
Last active December 13, 2017 08:56
Showing Git Hash in Android Application
import org.ajoberstar.grgit.Grgit
apply plugin: 'com.android.application'
lastCommitHash = { ->
git = Grgit.open()
def lastHash = git.head().getAbbreviatedId()
println("INFO: Last Git Hash $lastHash")
return lastHash
}
@Plinzen
Plinzen / perform-wifi-scan.java
Last active April 17, 2018 15:49
Android WifiRttManager
public class WifiScanner {
private class ScanWifiNetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
final List<ScanResult> wifiNetworks = wifiManager.getScanResults();
final List<ScanResult> rttSupportedNetworks = new LinkedList<>();
for (ScanResult network : wifiNetworks) {
// Check if Wifi network supports ranging
if (network.is80211mcResponder()) {
@Plinzen
Plinzen / setup-rttmanager.java
Created April 17, 2018 15:41
setup-rttmanager.java
WifiRttManager rttManager = (WifiRttManager) getSystemService(Context.WIFI_RTT_RANGING_SERVICE);
if (rttManager.isAvailable()) {
// TODO Smartphone supports ranging
} else {
// TODO Smartphone doesn't support ranging
}
@Plinzen
Plinzen / ranging-request.java
Created April 17, 2018 15:47
ranging-request.java
RangingRequest request = new RangingRequest.Builder()
.addAccessPoint(scanResult)
.build();
@Plinzen
Plinzen / ranging-callback.java
Created April 17, 2018 15:47
ranging-callback.java
RangingResultCallback callback = new RangingResultCallback() {
@Override
public void onRangingFailure(final int i) {
// TODO ranging failed -> handle it.
}
@Override
public void onRangingResults(final List<RangingResult> list) {
// TODO ranging successful -> handle it
}
@Plinzen
Plinzen / ranging-start.java
Created April 17, 2018 15:48
ranging-start.java
rttManager.startRanging(request, callback, null);
@Plinzen
Plinzen / overlay_with_composited_transform_target.dart
Created March 26, 2024 10:36
Create Flutter Tooltip with Overlay / OverlayPortal and position relative to other widget using CompositedTransformTarget / CompositedTransformFollower
import 'package:flutter/material.dart';
void main() => runApp(const OverlayPortalExampleApp());
class OverlayPortalExampleApp extends StatelessWidget {
const OverlayPortalExampleApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(