EMMA Coverage Report (generated Fri Aug 23 16:39:17 PDT 2013)
[all classes][org.chromium.base]

COVERAGE SUMMARY FOR SOURCE FILE [MemoryPressureListener.java]

nameclass, %method, %block, %line, %
MemoryPressureListener.java100% (2/2)20%  (2/10)21%  (9/43)19%  (3/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class MemoryPressureListener100% (1/1)17%  (1/6)18%  (6/33)20%  (2/10)
MemoryPressureListener (): void 0%   (0/1)0%   (0/3)0%   (0/1)
access$000 (int): void 0%   (0/1)0%   (0/3)0%   (0/1)
access$100 (int): void 0%   (0/1)0%   (0/3)0%   (0/1)
maybeNotifyMemoryPresure (int): void 0%   (0/1)0%   (0/15)0%   (0/5)
simulateMemoryPressureSignal (int): void 0%   (0/1)0%   (0/3)0%   (0/2)
registerSystemCallback (Context): void 100% (1/1)100% (6/6)100% (2/2)
     
class MemoryPressureListener$1100% (1/1)25%  (1/4)30%  (3/10)17%  (1/6)
onConfigurationChanged (Configuration): void 0%   (0/1)0%   (0/1)0%   (0/1)
onLowMemory (): void 0%   (0/1)0%   (0/3)0%   (0/2)
onTrimMemory (int): void 0%   (0/1)0%   (0/3)0%   (0/2)
MemoryPressureListener$1 (): void 100% (1/1)100% (3/3)100% (1/1)

1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4 
5package org.chromium.base;
6 
7import android.content.ComponentCallbacks2;
8import android.content.Context;
9import android.content.res.Configuration;
10 
11 
12/**
13 * This is an internal implementation of the C++ counterpart.
14 * It registers a ComponentCallbacks2 with the system, and dispatches into
15 * native.
16 */
17public class MemoryPressureListener {
18  @CalledByNative
19  private static void registerSystemCallback(Context context) {
20      context.registerComponentCallbacks(
21          new ComponentCallbacks2() {
22                @Override
23                public void onTrimMemory(int level) {
24                    maybeNotifyMemoryPresure(level);
25                }
26 
27                @Override
28                public void onLowMemory() {
29                    nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_CRITICAL);
30                }
31 
32                @Override
33                public void onConfigurationChanged(Configuration configuration) {
34                }
35          });
36  }
37 
38  /**
39   * Used by applications to simulate a memory pressure signal.
40   */
41  public static void simulateMemoryPressureSignal(int level) {
42      maybeNotifyMemoryPresure(level);
43  }
44 
45  private static void maybeNotifyMemoryPresure(int level) {
46      if (level == ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
47          nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_CRITICAL);
48      } else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND ||
49              level == ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL) {
50          nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_MODERATE);
51      }
52  }
53 
54  private static native void nativeOnMemoryPressure(int memoryPressureType);
55}

[all classes][org.chromium.base]
EMMA 2.0.5312 (C) Vladimir Roubtsov