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

Commit 4c611282 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not report incremental app in network watchlist" into rvc-dev am:...

Merge "Do not report incremental app in network watchlist" into rvc-dev am: 6dbbd230 am: aa4c3f35 am: 276b2c6b

Change-Id: I4bca0583f5037be51f6cd044b84ad65a5f557854
parents 6f067f24 276b2c6b
Loading
Loading
Loading
Loading
+16 −10
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package com.android.server.net.watchlist;
package com.android.server.net.watchlist;


import static android.os.incremental.IncrementalManager.isIncrementalPath;

import android.annotation.Nullable;
import android.annotation.Nullable;
import android.content.ContentResolver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
@@ -220,7 +222,7 @@ class WatchlistLoggingHandler extends Handler {
        }
        }
    }
    }


    private boolean insertRecord(int uid, String cncHost, long timestamp) {
    private void insertRecord(int uid, String cncHost, long timestamp) {
        if (DEBUG) {
        if (DEBUG) {
            Slog.i(TAG, "trying to insert record with host: " + cncHost + ", uid: " + uid);
            Slog.i(TAG, "trying to insert record with host: " + cncHost + ", uid: " + uid);
        }
        }
@@ -229,15 +231,15 @@ class WatchlistLoggingHandler extends Handler {
            if (DEBUG) {
            if (DEBUG) {
                Slog.i(TAG, "uid: " + uid + " is not test only package");
                Slog.i(TAG, "uid: " + uid + " is not test only package");
            }
            }
            return true;
            return;
        }
        }
        final byte[] digest = getDigestFromUid(uid);
        final byte[] digest = getDigestFromUid(uid);
        if (digest == null) {
        if (digest == null) {
            Slog.e(TAG, "Cannot get digest from uid: " + uid);
            return;
            return false;
        }
        if (mDbHelper.insertNewRecord(digest, cncHost, timestamp)) {
            Slog.w(TAG, "Unable to insert record for uid: " + uid);
        }
        }
        final boolean result = mDbHelper.insertNewRecord(digest, cncHost, timestamp);
        return result;
    }
    }


    private boolean shouldReportNetworkWatchlist(long lastRecordTime) {
    private boolean shouldReportNetworkWatchlist(long lastRecordTime) {
@@ -307,9 +309,6 @@ class WatchlistLoggingHandler extends Handler {
            byte[] digest = getDigestFromUid(apps.get(i).uid);
            byte[] digest = getDigestFromUid(apps.get(i).uid);
            if (digest != null) {
            if (digest != null) {
                result.add(HexDump.toHexString(digest));
                result.add(HexDump.toHexString(digest));
            } else {
                Slog.e(TAG, "Cannot get digest from uid: " + apps.get(i).uid
                        + ",pkg: " + apps.get(i).packageName);
            }
            }
        }
        }
        // Step 2: Add all digests from records
        // Step 2: Add all digests from records
@@ -341,9 +340,16 @@ class WatchlistLoggingHandler extends Handler {
                            Slog.w(TAG, "Cannot find apkPath for " + packageName);
                            Slog.w(TAG, "Cannot find apkPath for " + packageName);
                            continue;
                            continue;
                        }
                        }
                        if (isIncrementalPath(apkPath)) {
                            // Do not scan incremental fs apk, as the whole APK may not yet
                            // be available, so we can't compute the hash of it.
                            Slog.i(TAG, "Skipping incremental path: " + packageName);
                            continue;
                        }
                        return DigestUtils.getSha256Hash(new File(apkPath));
                        return DigestUtils.getSha256Hash(new File(apkPath));
                    } catch (NameNotFoundException | NoSuchAlgorithmException | IOException e) {
                    } catch (NameNotFoundException | NoSuchAlgorithmException | IOException e) {
                        Slog.e(TAG, "Should not happen", e);
                        Slog.e(TAG, "Cannot get digest from uid: " + key
                                + ",pkg: " + packageName, e);
                        return null;
                        return null;
                    }
                    }
                }
                }