MarshallAsch/veil-droid

View on GitHub
app/src/main/java/ca/marshallasch/veil/FragmentStats.java

Summary

Maintainability
A
1 hr
Test Coverage
package ca.marshallasch.veil;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import ca.marshallasch.veil.database.Database;

import static ca.marshallasch.veil.database.SyncStatsContract.SYNC_MESSAGE_V1;
import static ca.marshallasch.veil.database.SyncStatsContract.SYNC_MESSAGE_V2;

/**
 * @author Marshall Asch
 * @version 1.0
 * @since 2018-08-03
 */
public class FragmentStats extends Fragment
{
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
    {
        View view = inflater.inflate(R.layout.fragment_sync_stats, container, false);

        TextView numPacketsV1 = view.findViewById(R.id.num_packet_v1);
        TextView totalSizeV1 = view.findViewById(R.id.total_size_v1);
        TextView averageSizeV1 = view.findViewById(R.id.average_size_v1);
        TextView totalEntriesReceivedV1 = view.findViewById(R.id.total_entries_received_v1);
        TextView totalEntriesSavedV1 = view.findViewById(R.id.total_entries_stored_v1);
        TextView numPeersV1 = view.findViewById(R.id.num_peers_v1);
        TextView slowestTimeV1 = view.findViewById(R.id.slow_time_v1);
        TextView fastestTimeV1 = view.findViewById(R.id.fast_time_v1);
        TextView averageTimeV1 = view.findViewById(R.id.avg_time_v1);
        TextView numLostV1 = view.findViewById(R.id.num_lost_v1);

        TextView numPacketsV2 = view.findViewById(R.id.num_packet_v2);
        TextView totalSizeV2 = view.findViewById(R.id.total_size_v2);
        TextView averageSizeV2 = view.findViewById(R.id.average_size_v2);
        TextView totalEntriesReceivedV2 = view.findViewById(R.id.total_entries_received_v2);
        TextView totalEntriesSavedV2 = view.findViewById(R.id.total_entries_stored_v2);
        TextView numPeersV2 = view.findViewById(R.id.num_peers_v2);
        TextView slowestTimeV2 = view.findViewById(R.id.slow_time_v2);
        TextView fastestTimeV2 = view.findViewById(R.id.fast_time_v2);
        TextView averageTimeV2 = view.findViewById(R.id.avg_time_v2);
        TextView numLostV2 = view.findViewById(R.id.num_lost_v2);

        TextView hashTableSize = view.findViewById(R.id.hash_table_size);
        TextView databaseSize = view.findViewById(R.id.db_size);


        Database db = Database.getInstance(getActivity());
        DataStore dataStore = DataStore.getInstance(getActivity());

        // set stats for V1 protocol
        numPacketsV1.setText(getString(R.string.num_packets, db.getNumMessages(SYNC_MESSAGE_V1)));
        totalSizeV1.setText(getString(R.string.total_size, db.getTotalMessageSize(SYNC_MESSAGE_V1)));
        averageSizeV1.setText(getString(R.string.average_size, db.getAverageMessageSize(SYNC_MESSAGE_V1)));
        totalEntriesReceivedV1.setText(getString(R.string.total_entries_received, db.getTotalEntries(SYNC_MESSAGE_V1)));
        totalEntriesSavedV1.setText(getString(R.string.total_entries_stored, db.getTotalEntries()));
        numPeersV1.setText(getString(R.string.num_peers, db.getTotalNumPeers(SYNC_MESSAGE_V1)));
        slowestTimeV1.setText(getString(R.string.slowest_time, db.getSlowestTime(SYNC_MESSAGE_V1)));
        fastestTimeV1.setText(getString(R.string.fastest_time, db.getFastestTime(SYNC_MESSAGE_V1)));
        averageTimeV1.setText(getString(R.string.average_time, db.getAverageTime(SYNC_MESSAGE_V1)));
        numLostV1.setText(getString(R.string.num_packet_lost, db.getNumLost(SYNC_MESSAGE_V1)));

        // set stats for V2 protocol
        numPacketsV2.setText(getString(R.string.num_packets, db.getNumMessages(SYNC_MESSAGE_V2)));
        totalSizeV2.setText(getString(R.string.total_size, db.getTotalMessageSize(SYNC_MESSAGE_V2)));
        averageSizeV2.setText(getString(R.string.average_size, db.getAverageMessageSize(SYNC_MESSAGE_V2)));
        totalEntriesReceivedV2.setText(getString(R.string.total_entries_received, db.getTotalEntries(SYNC_MESSAGE_V2)));
        totalEntriesSavedV2.setText(getString(R.string.total_entries_stored, db.getTotalEntries()));
        numPeersV2.setText(getString(R.string.num_peers, db.getTotalNumPeers(SYNC_MESSAGE_V2)));
        slowestTimeV2.setText(getString(R.string.slowest_time, db.getSlowestTime(SYNC_MESSAGE_V2)));
        fastestTimeV2.setText(getString(R.string.fastest_time, db.getFastestTime(SYNC_MESSAGE_V2)));
        averageTimeV2.setText(getString(R.string.average_time, db.getAverageTime(SYNC_MESSAGE_V2)));
        numLostV2.setText(getString(R.string.num_packet_lost, db.getNumLost(SYNC_MESSAGE_V2)));

        hashTableSize.setText(getString(R.string.hash_table_size, (dataStore.getHashTableSize() / 1000000f)));
        databaseSize.setText(getString(R.string.db_size, (db.getSize() / 1000000f)));

        db.close();

        return view;
    }
}