Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53050fee authored by Chen Chen's avatar Chen Chen Committed by Automerger Merge Worker
Browse files

Merge "BluetoothMetrics: Add fallback solution for device names" am: 3d683f13 am: 8d3b0236

parents edd1d8c3 8d3b0236
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -43,8 +44,8 @@ import java.util.HashMap;
 */
public class MetricsLogger {
    private static final String TAG = "BluetoothMetricsLogger";
    private static final String BLOOMFILTER_PATH = "/data/misc/bluetooth/metrics";
    private static final String BLOOMFILTER_FILE = "/devices";
    private static final String BLOOMFILTER_PATH = "/data/misc/bluetooth";
    private static final String BLOOMFILTER_FILE = "/devices_for_metrics";
    public static final String BLOOMFILTER_FULL_PATH = BLOOMFILTER_PATH + BLOOMFILTER_FILE;

    public static final boolean DEBUG = false;
@@ -112,8 +113,19 @@ public class MetricsLogger {
            FileInputStream in = new FileInputStream(new File(path));
            mBloomFilter = BloomFilter.readFrom(in, Funnels.byteArrayFunnel());
            mBloomFilterInitialized = true;
        } catch (IOException e) {
            Log.w(TAG, "MetricsLogger can't read the BloomFilter file");
        } catch (IOException e1) {
            Log.w(TAG, "MetricsLogger can't read the BloomFilter file.");
            byte[] bloomfilterData = DeviceBloomfilterGenerator.hexStringToByteArray(
                    DeviceBloomfilterGenerator.BLOOM_FILTER_DEFAULT);
            try {
                mBloomFilter = BloomFilter.readFrom(
                        new ByteArrayInputStream(bloomfilterData), Funnels.byteArrayFunnel());
                mBloomFilterInitialized = true;
                Log.i(TAG, "The default bloomfilter is used");
                return true;
            } catch (IOException e2) {
                Log.w(TAG, "The default bloomfilter can't be used.");
            }
            return false;
        }
        return true;
@@ -253,7 +265,7 @@ public class MetricsLogger {
    }

    protected boolean logSanitizedBluetoothDeviceName(int metricId, String deviceName) {
        if (!mBloomFilterInitialized) {
        if (!mBloomFilterInitialized || deviceName == null) {
            return false;
        }