MCPcopy Index your code
hub / github.com/RohitSurwase/UCE-Handler

github.com/RohitSurwase/UCE-Handler @1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.4 ↗ · + Follow
44 symbols 95 edges 5 files 4 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Project Status: Active – The project has reached a stable, usable state and is being actively developed. GitHub stars

UCE Handler

Android library which lets you take control of Android App's uncaught exceptions. View, Copy, Share, Save and Email exceptions details including other useful info easily.

Tracking down all exceptions is the crucial part of the development. We could just expect that we have handled all exceptions. But whatever we do, we come across it with the so-called pop-up saying “Unfortunately, App has stopped”, that is why it is called uncaught-exceptions.

Why should you use this library? Read the answer - Handling Uncaught-Exceptions in Android

Example Animation Example Animation

Features

  • Android App lifecycle aware.
  • Catches all uncaught exceptions gracefully.
  • Displays separate screen with multiple options whenever an App crashes.
  • View, Copy, Share, and Save crash logs easily.
  • Email crash log along with the .txt file with multiple developers/receipients.
  • Completely close the crashed/unstable Application.

Logged Information

  • Device/mobile info.
  • Application info.
  • Crash log.
  • Activity track. //optional
  • All log files are placed in a separate folder.

Each Log file is named upon App's name so you can identify and distinguish files easily if you have added this library in multiple projects/applications.

Example

Download the example app here

Getting Started

Add this library to your Android project and initialize it in your Application class. Additionaly you can add developer's email addresses who will get the email of crash log along with the .txt file attached.

Setup

In your Project's build.gradle file:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

In your Application's or Module's build.gradle file:

dependencies {
        compile 'com.github.RohitSurwase.UCE-Handler:uce_handler:1.3'
}

In your Application class: * Initialize library using builder pattern.

    public class MyApplication extends Application {
    @Override public void onCreate() { 
        ...
        // Initialize UCE_Handler Library
        new UCEHandler.Builder(this).build();
    } }
Kotlin way of initialization
    UCEHandler.Builder(applicationContext).build()
For those of you who are still using Eclipse + ADT, you need to add UCEDefaultActivity manually in your App's manifest. (As suggested by Caceresenzo)
<application>
    ...
    <activity
    android:name="com.rohitss.uceh.UCEDefaultActivity"
    android:process=":error_activity"/>
</application>

Optional Parameters

.setUCEHEnabled(true/false)

// default 'true' => Enable/Disable UCE_Handler.

.setTrackActivitiesEnabled(true/false)

// default 'false' => Choose whether you want to track the flow of activities the user/tester has taken or not.

.setBackgroundModeEnabled(true/false)

// default 'true' => Choose if you want to catch exceptions while app is in background.

.addCommaSeparatedEmailAddresses("abc@gmail.com, pqr@gmail.com,...)

// default - empty => Add comma separated email addresses who will receive the crash logs.

'Save Error Log' will work only if your app already has storage permission as library does not ask for it.

Authors & Contributers

License

Copyright © 2018 Rohit Sahebrao Surwase. This project is licensed under the Apache License, Version 2.0 - see the LICENSE.md file for details

Core symbols most depended-on inside this repo

getAllErrorDetailsFromIntent
called by 5
uce_handler/src/main/java/com/rohitss/uceh/UCEDefaultActivity.java
killCurrentProcess
called by 2
uce_handler/src/main/java/com/rohitss/uceh/UCEHandler.java
getApplicationName
called by 2
uce_handler/src/main/java/com/rohitss/uceh/UCEDefaultActivity.java
saveErrorLogToFile
called by 2
uce_handler/src/main/java/com/rohitss/uceh/UCEDefaultActivity.java
copyErrorToClipboard
called by 2
uce_handler/src/main/java/com/rohitss/uceh/UCEDefaultActivity.java
setUCEHandler
called by 1
uce_handler/src/main/java/com/rohitss/uceh/UCEHandler.java
hasCrashedInTheLastSeconds
called by 1
uce_handler/src/main/java/com/rohitss/uceh/UCEHandler.java
setLastCrashTimestamp
called by 1
uce_handler/src/main/java/com/rohitss/uceh/UCEHandler.java

Shape

Method 38
Class 6

Languages

Java100%

Modules by API surface

uce_handler/src/main/java/com/rohitss/uceh/UCEHandler.java23 symbols
uce_handler/src/main/java/com/rohitss/uceh/UCEDefaultActivity.java15 symbols
example_app/src/main/java/com/rohitss/uceh_example/MainActivity.java3 symbols
example_app/src/main/java/com/rohitss/uceh_example/MyApplication.java2 symbols
uce_handler/src/main/java/com/rohitss/uceh/UCEFileProvider.java1 symbols

For agents

$ claude mcp add UCE-Handler \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page