// Path: debugdrawer-base/src/main/java/io/palaima/debugdrawer/base/DebugModuleAdapter.java
// public abstract class DebugModuleAdapter implements DebugModule {
// 
//     @Override
//     public void onOpened() {
//         // do nothing
//     }
// 
//     @Override
//     public void onClosed() {
//         // do nothing
//     }
// 
//     @Override
//     public void onResume() {
//         // do nothing
//     }
// 
//     @Override
//     public void onPause() {
//         // do nothing
//     }
// 
//     @Override
//     public void onStart() {
//         // do nothing
//     }
// 
//     @Override
//     public void onStop() {
//         // do nothing
//     }
// }


import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.lang.ref.WeakReference;
import io.palaima.debugdrawer.base.DebugModuleAdapter;

        if (context == null) {
            context = new WeakReference<>(parent.getContext());
        }

        final View view = inflater.inflate(R.layout.dd_debug_drawer_module_build, parent, false);
        view.setClickable(false);
        view.setEnabled(false);

        codeLabel = view.findViewById(R.id.dd_debug_build_code);
        nameLabel = view.findViewById(R.id.dd_debug_build_name);
        packageLabel = view.findViewById(R.id.dd_debug_build_package);

        refresh();

        return view;
    }

    @Override
    public void onOpened() {
        refresh();
    }

    private void refresh() {
        try {
            final Context context = this.context.get();
            if (context != null) {
                final PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
                codeLabel.setText(String.valueOf(info.versionCode));
                nameLabel.setText(info.versionName);
// Path: debugdrawer-base/src/main/java/io/palaima/debugdrawer/base/DebugModuleAdapter.java
// public abstract class DebugModuleAdapter implements DebugModule {
// 
//     @Override
//     public void onOpened() {
//         // do nothing
//     }
// 
//     @Override
//     public void onClosed() {
//         // do nothing
//     }
// 
//     @Override
//     public void onResume() {
//         // do nothing
//     }
// 
//     @Override
//     public void onPause() {
//         // do nothing
//     }
// 
//     @Override
//     public void onStart() {
//         // do nothing
//     }
// 
//     @Override
//     public void onStop() {
//         // do nothing
//     }
// }


// Path: debugdrawer-commons/src/main/java/io/palaima/debugdrawer/commons/BuildModule.java
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.lang.ref.WeakReference;
import io.palaima.debugdrawer.base.DebugModuleAdapter;


        if (context == null) {
            context = new WeakReference<>(parent.getContext());
        }

        final View view = inflater.inflate(R.layout.dd_debug_drawer_module_build, parent, false);
        view.setClickable(false);
        view.setEnabled(false);

        codeLabel = view.findViewById(R.id.dd_debug_build_code);
        nameLabel = view.findViewById(R.id.dd_debug_build_name);
        packageLabel = view.findViewById(R.id.dd_debug_build_package);

        refresh();

        return view;
    }

    @Override
    public void onOpened() {
        refresh();
    }

    private void refresh() {
        try {
            final Context context = this.context.get();
            if (context != null) {
                final PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
                codeLabel.setText(String.valueOf(info.versionCode));
                nameLabel.setText(info.versionName);
                packageLabel.setText(info.packageName);