diff options
Diffstat (limited to 'mobile/android/thirdparty/com/squareup/picasso/Stats.java')
-rw-r--r-- | mobile/android/thirdparty/com/squareup/picasso/Stats.java | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/mobile/android/thirdparty/com/squareup/picasso/Stats.java b/mobile/android/thirdparty/com/squareup/picasso/Stats.java deleted file mode 100644 index 3eaac0249..000000000 --- a/mobile/android/thirdparty/com/squareup/picasso/Stats.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2013 Square, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.squareup.picasso; - -import android.graphics.Bitmap; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Looper; -import android.os.Message; - -import static android.os.Process.THREAD_PRIORITY_BACKGROUND; - -class Stats { - private static final int CACHE_HIT = 0; - private static final int CACHE_MISS = 1; - private static final int BITMAP_DECODE_FINISHED = 2; - private static final int BITMAP_TRANSFORMED_FINISHED = 3; - - private static final String STATS_THREAD_NAME = Utils.THREAD_PREFIX + "Stats"; - - final HandlerThread statsThread; - final Cache cache; - final Handler handler; - - long cacheHits; - long cacheMisses; - long totalOriginalBitmapSize; - long totalTransformedBitmapSize; - long averageOriginalBitmapSize; - long averageTransformedBitmapSize; - int originalBitmapCount; - int transformedBitmapCount; - - Stats(Cache cache) { - this.cache = cache; - this.statsThread = new HandlerThread(STATS_THREAD_NAME, THREAD_PRIORITY_BACKGROUND); - this.statsThread.start(); - this.handler = new StatsHandler(statsThread.getLooper(), this); - } - - void dispatchBitmapDecoded(Bitmap bitmap) { - processBitmap(bitmap, BITMAP_DECODE_FINISHED); - } - - void dispatchBitmapTransformed(Bitmap bitmap) { - processBitmap(bitmap, BITMAP_TRANSFORMED_FINISHED); - } - - void dispatchCacheHit() { - handler.sendEmptyMessage(CACHE_HIT); - } - - void dispatchCacheMiss() { - handler.sendEmptyMessage(CACHE_MISS); - } - - void shutdown() { - statsThread.quit(); - } - - void performCacheHit() { - cacheHits++; - } - - void performCacheMiss() { - cacheMisses++; - } - - void performBitmapDecoded(long size) { - originalBitmapCount++; - totalOriginalBitmapSize += size; - averageOriginalBitmapSize = getAverage(originalBitmapCount, totalOriginalBitmapSize); - } - - void performBitmapTransformed(long size) { - transformedBitmapCount++; - totalTransformedBitmapSize += size; - averageTransformedBitmapSize = getAverage(originalBitmapCount, totalTransformedBitmapSize); - } - - synchronized StatsSnapshot createSnapshot() { - return new StatsSnapshot(cache.maxSize(), cache.size(), cacheHits, cacheMisses, - totalOriginalBitmapSize, totalTransformedBitmapSize, averageOriginalBitmapSize, - averageTransformedBitmapSize, originalBitmapCount, transformedBitmapCount, - System.currentTimeMillis()); - } - - private void processBitmap(Bitmap bitmap, int what) { - // Never send bitmaps to the handler as they could be recycled before we process them. - int bitmapSize = Utils.getBitmapBytes(bitmap); - handler.sendMessage(handler.obtainMessage(what, bitmapSize, 0)); - } - - private static long getAverage(int count, long totalSize) { - return totalSize / count; - } - - private static class StatsHandler extends Handler { - - private final Stats stats; - - public StatsHandler(Looper looper, Stats stats) { - super(looper); - this.stats = stats; - } - - @Override public void handleMessage(final Message msg) { - switch (msg.what) { - case CACHE_HIT: - stats.performCacheHit(); - break; - case CACHE_MISS: - stats.performCacheMiss(); - break; - case BITMAP_DECODE_FINISHED: - stats.performBitmapDecoded(msg.arg1); - break; - case BITMAP_TRANSFORMED_FINISHED: - stats.performBitmapTransformed(msg.arg1); - break; - default: - Picasso.HANDLER.post(new Runnable() { - @Override public void run() { - throw new AssertionError("Unhandled stats message." + msg.what); - } - }); - } - } - } -}
\ No newline at end of file |