Some test text!

Hamburger Icon

Android / Guides / Overlay

File comparison in Android

You can visually compare pages. This resolution independent comparison allows you to quickly spot differences between pages.

There are two main ways to integrate the out-of-box UI components in your application:

  1. Standalone activity
  2. Comparison options dialog

Standalone activity

The DiffActivity is a standalone component that handles from picking two files to generating the comparison result.

  1. Define the activity
Storage Permission
Please follow the latest Android best practices and guidelines outlined here
    android:windowSoftInputMode="adjustPan" />
  1. Show the activity;

Comparison options dialog

If you have your own viewer already and only want to show the comparison options in your application, the DiffOptionsDialogFragment can be used.

public void show(final Context context, FragmentManager fragmentManager, final ArrayList<Uri> files) {
    DiffOptionsDialogFragment fragment = DiffOptionsDialogFragment.newInstance(
        files.get(0), files.get(1)
    fragment.setDiffOptionsDialogListener(new DiffOptionsDialogFragment.DiffOptionsDialogListener() {
        public void onDiffOptionsConfirmed(int color1, int color2, int blendMode) {
            compareFiles(context, files, color1, color2, blendMode);
    });, DiffOptionsDialogFragment.TAG);

where compareFile is:

private final CompositeDisposable mDisposable = new CompositeDisposable();

private void compareFiles(Context context, ArrayList<Uri> files, int color1, int color2, int blendMode) {
    mDisposable.add(DiffUtils.compareFiles(context, files, color1, color2, blendMode)
        .subscribe(new Consumer<Uri>() {
            public void accept(Uri uri) throws Exception {
                // do something with the output
        }, new Consumer<Throwable>() {
            public void accept(Throwable throwable) throws Exception {

AsyncTask pattern can be used instead of Disposable pattern if desired.

Get the answers you need: Chat with us