Skip to content

Instantly share code, notes, and snippets.

View resumeable-file-download.php
function serve_file_resumable ($file, $contenttype = 'application/octet-stream') {
// Avoid sending unexpected errors to the client - we should be serving a file,
// we don't want to corrupt the data we send
@error_reporting(0);
// Make sure the files exists, otherwise we are wasting our time
if (!file_exists($file)) {
header("HTTP/1.1 404 Not Found");
exit;
View Using GL_OES_EGL_image_external on Android
1. The texture target needs to be GLES20.GL_TEXTURE_EXTERNAL_OES instead of GL_TEXTURE_2D, e.g. in the glBindTexture calls and glTexParameteri calls.
2. In the fragment shader define a requirement to use the extension:
#extension GL_OES_EGL_image_external : require
3. For the texture sampler used in the fragment shader, use samplerExternalOES instead of sampler2D.
Everything below here is all in the C code, no more Java.
4. In the C code, use glEGLImageTargetTexture2DOES(GL_TEXTURE_EXTERNAL_OES, eglImage) to specify where the data is, instead of using glTexImage2D family of functions.
@draekko
draekko / androidx-convert.sh
Last active Jul 26, 2020 — forked from dlew/script.sh
Simple AndroidX Migration Script (updated to work with Linux and avoid xarg argument list too long)
View androidx-convert.sh
#!/usr/bin/env bash
# I've found that the "Migrate to AndroidX" converter in Android Studio doesn't work very
# well, so I wrote my own script to do the simple job of converting package names.
#
# You can download a CSV of package names here: https://developer.android.com/topic/libraries/support-library/downloads/androidx-class-mapping.csv
#
# It'll run faster on a clean build because then there are fewer files to scan over.
#
# Uses `gsed` because I'm on a Mac. Can easily replace with `sed` if you don't have `gsed`.
View GeomagneticField2020.java
/*
* Copyright (C) 2009 The Android Open Source Project
* Copyright (C) 2015, 2019, 2020 Benoit Touchette
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@draekko
draekko / gpt_parser.py
Created Apr 14, 2019 — forked from culots/gpt_parser.py
Feed this your GPT.bin, and out it shoots a partition.xml
View gpt_parser.py
#!/usr/bin/python
# Author : n0fate
# E-Mail rapfer@gmail.com, n0fate@live.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or (at
# your option) any later version.
@draekko
draekko / manifest.xml
Created Feb 14, 2019 — forked from filiprrs/manifest.xml
universal7880 manifest
View manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="lineage-15.1" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" revision="lineage-15.1" />
<project name="LineageOS/android_device_samsung_a7y17lte" path="device/samsung/a7y17lte" revision="lineage-16.0" />
<project name="LineageOS/android_device_samsung_a5y17lte" path="device/samsung/a5y17lte" revision="lineage-16.0" />
<project name="LineageOS/android_device_samsung_universal7880-common" path="device/samsung/universal7880-common" revision="lineage-16.0" />
<project name="LineageOS/android_kernel_samsung_universal7880" path="kernel/samsung/universal7880" revision="lineage-16.0" />
<project name="LineageOS/android_hardware_samsung" path="hardware/samsung" revision="lineage-16.0" />
<project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" />
View cherrypick_list.txt
https://github.com/TeamNexus/android_frameworks_native/commit/eb315db646ffca7bd5e02eb82b680d2cb3a4981f
https://github.com/TeamNexus/android_hardware_interfaces/commit/4fa05e6ab7a1219dd33432abe653ad027fd93413
https://github.com/LineageOS/android_device_samsung_universal7880-common/commit/74292bbfcc88e1d0cdeaf89b3dcf042486898bb0
https://github.com/LineageOS/android_kernel_samsung_universal7880/commit/aeb5bcc6ce6e77e880f97f2bcf5f535c7ca99cda
View GeomagneticField2019.java
/*
* Copyright (C) 2009 The Android Open Source Project
* Copyright (C) 2015 Benoit Touchette
* Copyright (C) 2019 Benoit Touchette
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
@draekko
draekko / CachedDocumentFile.java
Created Apr 26, 2018 — forked from bubbleguuum/CachedDocumentFile.java
Improve DocumentFile performance
View CachedDocumentFile.java
package android.support.v4.provider;
import android.net.Uri;
import android.support.v4.provider.DocumentFile;
public class CachedDocumentFile extends DocumentFile {
final DocumentFile mWrapped;
final boolean mCacheChildren;
@draekko
draekko / DRChronometer.java
Created Nov 7, 2017
Chronometer class to display timer in HH:MM:SS format based on the Android Chronometer class.
View DRChronometer.java
/*
* Copyright (C) 2008 The Android Open Source Project
* Copyright (C) 2017 Benoit Touchette (Draekko RAND)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*