Skip to content

Instantly share code, notes, and snippets.

View AafaaqAli's full-sized avatar
🎯
Focusing

Aafaq Ali AafaaqAli

🎯
Focusing
View GitHub Profile
@AafaaqAli
AafaaqAli / resume.json
Last active February 17, 2026 13:09
resume-aosp
{
"basics": {
"name": "Aafaq Ali",
"label": "Sr. AOSP & Android Systems Engineer",
"image": "https://user-images.githubusercontent.com/21982416/230728894-eaacfbf3-d977-46e4-9812-c04879633896.png",
"email": "aafaq@msn.com",
"phone": "+923123713004",
"url": "https://aafaq.com.pk",
"summary": "Senior AOSP & Android Systems Engineer with 7+ years of experience delivering production-grade Android firmware, secure custom ROMs, and enterprise device management solutions. Specialized in Android framework customization, hardware bring-up, OS CI/CD automation, and secure fleet deployments. Experienced in building complete Android ecosystems from bootloader to system applications, with strong focus on security hardening, scalability, and compliance-ready enterprise architectures.",
"location": {
@AafaaqAli
AafaaqAli / resume.json
Last active February 17, 2026 12:57
resume-android
{
"basics": {
"name": "Aafaq Ali",
"label": "Senior Android Engineer",
"image": "https://user-images.githubusercontent.com/21982416/230728857-63d17e95-faec-4ac5-bfbd-51da7b15baff.png",
"email": "aafaq@msn.com",
"phone": "+923123713004",
"url": "https://aafaq.com.pk",
"summary": "Senior Android Engineer with 7+ years of experience building high-performance, scalable Android applications used in production environments across enterprise and consumer domains. Strong expertise in Kotlin, modern Android architecture, CI/CD automation, and performance optimization. Proven ability to lead feature ownership end-to-end, improve release velocity, and deliver stable, maintainable Android systems. Background in AOSP and custom ROM engineering adds deep platform-level understanding to product development.",
"location": {
For Remove Hardware features check following files in android source :
1. Check the device.mk file for your device(Like : device/<vendor>/<device>.mk)
2. Check the common.mk file for your device(Like : device/<vendor>/common/common.mk)
There both files is probably a line like the following:
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
@AafaaqAli
AafaaqAli / AndroidDeviceEnrollmentQRCreation.md
Created June 13, 2024 13:15 — forked from bashenk/AndroidDeviceEnrollmentQRCreation.md
Creating a QR Code for Android Device Enrollment
@AafaaqAli
AafaaqAli / Camera2.md
Created October 20, 2022 07:49 — forked from Tanapruk/Camera2.md
Camera2 API

TextureView

You need to initialize TextureView before opening a camera. TextureView is for displaying the image from camera on the device. However, you cannot use it unless the texture is ready, either because the screen is currently off or it is initializing.

You should check mTextureView.isAvailable() before opening your camera. Else you will mTextureView.setSurfaceTextureListener(). And open your camera in the callback method onSurfaceTextureListener.

Camera

Before opening your camera you should check for a camera permission first.

{ "JTT" : [
{ "track" : {
"title" : "Test Activity",
"desc" : "Simple test activity walking around the block with a heart rate monitor, stopping once, and marking one lap. Recorded with Garmin Fenix 3, uploaded to Garmin Connect, and exported as GPX and TCX. Both exports are crippled because they do not contain all data fields of the activity.",
"segments" : [
{ "data-fields" : ["latitude", "longitude", "elevation", "temperature", "HR" ] },
[
[ 47.407614681869745, 8.553115781396627, 451.79998779296875, "2015-11-13T12:57:24.000Z", 28.0, 76],
[ 47.40762138739228, 8.553108656778932, 451.0, "2015-11-13T12:57:25.000Z", 28.0, 76],
[ 47.407626835629344, 8.553094072267413, 450.0, "2015-11-13T12:57:26.000Z", 28.0, 76],
@AafaaqAli
AafaaqAli / BubbleSort.kt
Created July 5, 2022 19:30
Bubble Sort in Kotlin
/**
* Complexity O(n^2)
*/
/**
* Unsorted Data Source
*/
var unsortedArray: ArrayList<Int> = arrayListOf(45,7,3,6,12,657,568,23412,3,46,647,234,7687,686,235,564,768568,345,23,1,23,3,46,7,8,945,34)
fun main() {
@AafaaqAli
AafaaqAli / SelectionSort.kt
Created July 5, 2022 18:39
Selection Sort in Kotlin
/**
* Complexity O(n^2)
*/
/**
* Unsorted Data Source
*/
var unsortedArray: ArrayList<Int> = arrayListOf(45,7,3,6,12,657,568,23412,3,46,647,234,7687,686,235,564,768568,345,23,1,23,3,46,7,8,945,34)
@AafaaqAli
AafaaqAli / backupAndroidDevice.sh
Created January 30, 2022 17:10 — forked from gema-arta/backupAndroidDevice.sh
A simple script to backup my Android phone to my Macbook.
#!/bin/bash
#
# backupAndroidDevice.sh
#
# A simple script to backup my Android phone to my Macbook.
#
# Syntax: backupAndroidDevice.sh output_folder
# output folder must exist
#
# Requirements/assumptions: