protected void onCreate()

in perf/app/src/main/java/com/google/firebase/quickstart/perfmon/java/MainActivity.java [54:110]


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());

        binding.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // write 40 chars of random text to file
                File contentFile = new File(MainActivity.this.getFilesDir(), CONTENT_FILE);

                writeStringToFile(contentFile.getAbsolutePath(), getRandomString(40) + "\n")
                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                if (!task.isSuccessful()) {
                                    Log.e(TAG, "Unable to write to file", task.getException());
                                    return;
                                }

                                loadFileFromDisk();
                            }
                        });
                }
        });

        // Begin tracing app startup tasks.
        mTrace = FirebasePerformance.getInstance().newTrace(STARTUP_TRACE_NAME);
        Log.d(TAG, "Starting trace");
        mTrace.start();
        loadImageFromWeb();
        // Increment the counter of number of requests sent in the trace.
        Log.d(TAG, "Incrementing number of requests counter in trace");
        mTrace.incrementMetric(REQUESTS_COUNTER_NAME, 1);
        loadFileFromDisk();
        // Wait for app startup tasks to complete asynchronously and stop the trace.
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    mNumStartupTasks.await();
                } catch (InterruptedException e) {
                    Log.e(TAG, "Unable to wait for startup task completion.");
                } finally {
                    Log.d(TAG, "Stopping trace");
                    mTrace.stop();
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, "Trace completed",
                                    Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }
        }).start();
    }