Skip to content

Instantly share code, notes, and snippets.

View mumayank's full-sized avatar

Mayank Mohan Upadhyay mumayank

View GitHub Profile
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:packageNames="com.olacabs.customer"
android:description="@string/accessibility_service_description"
android:canRetrieveWindowContent="true"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagDefault"
android:notificationTimeout="1000"
/>
<resources>
<string name="app_name">Ola Automatic</string>
<string name="accessibility_service_label_from_home">-----From Home</string>
<string name="accessibility_service_description">This service is brought to you by Ola Automatic - made by Mayank Mohan Upadhyay, mumayank at gmail dot com :)</string>
</resources>
class Helpers {
companion object {
private var source: AccessibilityNodeInfo? = null
private fun selectSearchBar(context: Context, onSuccess: (() -> Unit)?) {
if (source == null) {
afterPauseSelectSearchBar(
context,
onSuccess
fun setFromHomeInOla(context: Context?, accessibilityService: AccessibilityService?) {
if (context == null || accessibilityService == null) {
return
}
selectSearchBar(context) {
hideKeyboard(context, accessibilityService) {
selectHomeOpposite(context) {
selectDropBar(context) {
hideKeyboard(context, accessibilityService) {
selectPlatform1(context) {
fun openOlaApp(context: Context?) {
if (context == null) {
return
}
val launchIntent =
context.packageManager.getLaunchIntentForPackage(Constants.OLA_APP_PACKAGE_NAME)
launchIntent?.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
launchIntent?.let { context.startActivity(it) }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@android:color/white"
android:orientation="vertical"
android:padding="16dp"
xmlns:android="http://schemas.android.com/apk/res/android">
</LinearLayout>
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
supportActionBar?.hide()
Helpers.openAccessibilitySettings(this)
}
<service android:name=".services.FromHomeAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="@string/accessibility_service_label_from_home">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config" />
</service>
class FromHomeAccessibilityService : AccessibilityService() {
override fun onServiceConnected() {
super.onServiceConnected()
Helpers.openOlaApp(applicationContext)
Helpers.setFromHomeInOla(applicationContext, this)
}
override fun onInterrupt() {}
https://googlesecured.page.link/android_root_article_1
https://googlesecured.page.link/android_root_article_2
https://googlesecured.page.link/android_root_article_3
https://googlesecured.page.link/android_root_article_4
https://googlesecured.page.link/android_root_article_5
https://googlesecured.page.link/android_root_article_6
https://googlesecured.page.link/android_root_article_7
https://googlesecured.page.link/android_root_article_8
https://googlesecured.page.link/android_root_article_9
https://googlesecured.page.link/android_root_article_10