Skip to content

district0/ZoomX

Repository files navigation

ZoomX

Zoomx is android logging interceptor tool to view and log all network services history in a suitable format.

YouTube Video

Usage

Gradle:

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

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

Step 2. Add the dependency [ make sure that you are on the latest release number ]

dependencies {
	        implementation 'com.github.district0:ZoomX:1.0.8'

Step 3. Initiate ZoomX service

        ZoomX.init(new Config.Builder(this).build());

Step 4. Start/Stop ZoomX service. You can call it in your app activity cycles like (OnResume/OnPause)

        ZoomX.showMenu();
        ZoomX.hideHead();

Step 5. Log your network requests

Retrofit

Just add ZoomXLoggerInterceptor:

	  OkHttpClient.Builder httpClient = new OkHttpClient
                .Builder()
                .addInterceptor(new ZoomXLoggerInterceptor(this.context));

Volley or any request method

Just create zoomx request entitiy object then send it to zoomx network log manager.

For example:

	RequestEntity.Builder requestBuilder = new RequestEntity.Builder();

        requestBuilder.setMethod("GET")
                .setCode(200)
                .setStartDate("Start-Date")
                .setUrl("https://github.com/district0/ZoomX")
                .setRequestBody("JSON_BODY")
                .setRequestHeaders("HEADERS")
		.setResponseBody(response);

        ZoomXLogManager.log(requestBuilder);

Features

  • Display list of requests in real time sorted by date.
  • Send logged request/response by email.
  • Search within requests url.
  • Copy any response/requests and share it via any app ex. (email).
  • Display request details in a pretty format.
  • Take screenshot

Upcoming Features

  • Group requests per page.
  • Memory leaks report per page and whole app.
  • Control internet speed.
  • Shake to change working environment.
  • Badge title (To indicate user to on which environment you are connected production, staging,...).
  • Crashes report.

Donation

If this project help you reduce time to develop, you can give me a cup of coffee :)

paypal