微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.util.ArrayMap的实例源码

项目:traypreferences    文件XmlUtils.java   
/**
 * Like {@link #readThisMapXml},but returns an ArrayMap instead of HashMap.
 * @hide
 */
public static final ArrayMap<String,?> readThisArrayMapXml(XmlPullParser parser,String endTag,String[] name,ReadMapCallback callback)
        throws XmlPullParserException,java.io.IOException
{
    ArrayMap<String,Object> map = new ArrayMap<>();

    int eventType = parser.getEventType();
    do {
        if (eventType == parser.START_TAG) {
            Object val = readThisValueXml(parser,name,callback,true);
            map.put(name[0],val);
        } else if (eventType == parser.END_TAG) {
            if (parser.getName().equals(endTag)) {
                return map;
            }
            throw new XmlPullParserException(
                "Expected " + endTag + " end tag at: " + parser.getName());
        }
        eventType = parser.next();
    } while (eventType != parser.END_DOCUMENT);

    throw new XmlPullParserException(
        "Document ended before " + endTag + " end tag");
}
项目:lineagex86    文件AppNotificationSettings.java   
public static void applyConfigActivities(PackageManager pm,ArrayMap<String,AppRow> rows,List<ResolveInfo> resolveInfos) {
    if (DEBUG) Log.d(TAG,"Found " + resolveInfos.size() + " preference activities"
            + (resolveInfos.size() == 0 ? " ;_;" : ""));
    for (ResolveInfo ri : resolveInfos) {
        final ActivityInfo activityInfo = ri.activityInfo;
        final ApplicationInfo appInfo = activityInfo.applicationInfo;
        final AppRow row = rows.get(appInfo.packageName);
        if (row == null) {
            if (DEBUG) Log.v(TAG,"Ignoring notification preference activity ("
                    + activityInfo.name + ") for unkNown package "
                    + activityInfo.packageName);
            continue;
        }
        if (row.settingsIntent != null) {
            if (DEBUG) Log.v(TAG,"Ignoring duplicate notification preference activity ("
                    + activityInfo.name + ") for package "
                    + activityInfo.packageName);
            continue;
        }
        row.settingsIntent = new Intent(APP_NOTIFICATION_PREFS_CATEGORY_INTENT)
                .setClassName(activityInfo.packageName,activityInfo.name);
    }
}
项目:TIIEHenry-Android-SDK    文件ZipUtil.java   
public void unZip(ArrayMap<String,File> files) throws IOException,FileExistsException {
if (!zipFile.exists())
  throw new FileNotFoundException(zipFile.toString());

FileInputStream fis= new FileInputStream(zipFile);
CheckedInputStream cos = new CheckedInputStream(fis,checksum);
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(cos));

try {
  unZip(zis,files);
} finally {
  if (zis != null) {
    try {
      zis.close();
    } catch (IOException e) {
      throw e;
    }
  }
}
 }
项目:CommentView    文件CanvasAreaView.java   
@TargetApi(Build.VERSION_CODES.KITKAT)
    public void setContentAreaForjsonFile(String str) {
        try {
            final ArrayMap fields = getFields();
            ArrayMap[] methods = getmethods();
            final ArrayMap arrayMap = methods[0];
            final ArrayMap arrayMap2 = methods[1];
//            setCanvasArea(CanvasUIEngine.g().inflateCanvasArea((CanvasHost) this,str,new CanvasUIEngineInflateListener() {
//                public void didInflatedArea(CanvasArea canvasArea,String str) {
//                    if (fields.containsKey(str)) {
//                        Field field = (Field) fields.get(str);
//                        field.setAccessible(true);
//                        try {
//                            field.set(CanvasAreaView.this,canvasArea);
//                        } catch (illegalaccessexception e) {
//                            e.printstacktrace();
//                            throw new RuntimeException(e.getMessage());
//                        }
//                    }
//                    if (arrayMap.containsKey(str)) {
//                        canvasArea.clickListener = CanvasAreaView.getListener((Method) arrayMap.get(str),canvasArea,CanvasAreaView.this);
//                    }
//                    if (arrayMap2.containsKey(str)) {
//                        canvasArea.longClickListener = CanvasAreaView.getLongListener((Method) arrayMap2.get(str),CanvasAreaView.this);
//                    }
//                }
//            }));
        } catch (NoSuchMethodException e) {
            e.printstacktrace();
            throw new RuntimeException(e.getMessage());
        } catch (illegalaccessexception e2) {
            e2.printstacktrace();
            throw new RuntimeException(e2.getMessage());
        } catch (InvocationTargetException e3) {
            e3.printstacktrace();
            throw new RuntimeException(e3.getMessage());
        }
    }
项目:Android-Router    文件ParamsWrapperTest.java   
@TargetApi(Build.VERSION_CODES.KITKAT)
@Test
public void checkObj() throws JSONException {
    String json = "{'a':1,'b':'2'}";

    ParamsWrapper wrapper = new ParamsWrapper(json);
    String json2 = "{'c':1,'d':'2'}";
    List<String> arr2 = new ArrayList<>();
    arr2.add("a");
    arr2.add("b");
    Map<String,Object> map2 = new ArrayMap<>();
    map2.put("A","1");
    map2.put("B","2");

    wrapper.append(json2);
    wrapper.append(arr2);
    wrapper.append(map2);
    System.out.println();
}
项目:BWS-Android    文件BioIdWebserviceClientExtended.java   
@VisibleForTesting
protected HttpRequest createNewTokenRequest(@NonNull String bcid,@NonNull String task) {
    try {
        Map<String,String> queryParameters = new ArrayMap<>(3);
        queryParameters.put("id",BuildConfig.BIOID_APP_ID);
        queryParameters.put("bcid",bcid);
        queryParameters.put("task",task);

        return withDefaultTimeout(
                HttpRequest.get(BWS_BASE_URL + "/extension/token",queryParameters,true)
                        .basic(BuildConfig.BIOID_APP_ID,BuildConfig.BIOID_APP_SECRET)
                        .accept(CONTENT_TYPE_TEXT));
    } catch (HttpRequest.HttpRequestException e) {
        throw new NoConnectionException(e);
    }
}
项目:IFWManager    文件IntentResolver.java   
private final void addFilter(ArrayMap<String,F[]> map,String name,F filter) {
    F[] array = map.get(name);
    if (array == null) {
        array = newArray(2);
        map.put(name,array);
        array[0] = filter;
    } else {
        final int N = array.length;
        int i = N;
        while (i > 0 && array[i-1] == null) {
            i--;
        }
        if (i < N) {
            array[i] = filter;
        } else {
            F[] newa = newArray((N*3)/2);
            System.arraycopy(array,newa,N);
            newa[N] = filter;
            map.put(name,newa);
        }
    }
}
项目:homeDash    文件SensorReader.java   
public  void getBatteryReading(SensorDataListener listener){

        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        Intent batteryStatus = context.registerReceiver(null,intentFilter);

        int batteryStatusIntExtra = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS,-1);
        boolean isCharging = batteryStatusIntExtra == BatteryManager.BATTERY_STATUS_CHARGING ||
                batteryStatusIntExtra == BatteryManager.BATTERY_STATUS_FULL;

        int chargePlug = batteryStatus.getIntExtra(BatteryManager.EXTRA_PLUGGED,-1);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;

        int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);
        int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE,-1);

        float batteryPct = level / (float)scale;

        Log.i(TAG,"AC connected: "+acCharge);
        Log.i(TAG,"USB connected: "+usbCharge);
        Log.i(TAG,"Battery charging: "+ isCharging);
        Log.i(TAG,"Battery Level: "+ batteryPct);

        ArrayMap<String,String> map = new ArrayMap<>(3);
        map.put(SENSOR,"Battery");
        map.put(VALUE,Integer.toString(level));
        map.put(UNIT,BATTERYSENSOR_UNIT);
        map.put("charging",Boolean.toString(isCharging));
        map.put("acPlugged",Boolean.toString(acCharge));
        map.put("usbPlugged",Boolean.toString(usbCharge));
        listener.sensorData(map);
    }
项目:XPrivacy    文件XmlUtils.java   
/**
 * Like {@link #readThisMapXml},val);
        } else if (eventType == parser.END_TAG) {
            if (parser.getName().equals(endTag)) {
                return map;
            }
            throw new XmlPullParserException(
                "Expected " + endTag + " end tag at: " + parser.getName());
        }
        eventType = parser.next();
    } while (eventType != parser.END_DOCUMENT);

    throw new XmlPullParserException(
        "Document ended before " + endTag + " end tag");
}
项目:AndroidProjectsClient    文件BaseActivity.java   
private void removeActivityFromTransitionManager() {
    final Class transitionManagerClass = TransitionManager.class;
    try {
        final Field runningTransitionsField = transitionManagerClass
                .getDeclaredField("sRunningTransitions");
        runningTransitionsField.setAccessible(true);
        //noinspection unchecked
        final ThreadLocal<WeakReference<ArrayMap<ViewGroup,ArrayList<Transition>>>> runningTransitions
                = (ThreadLocal<WeakReference<ArrayMap<ViewGroup,ArrayList<Transition>>>>)
                runningTransitionsField.get(transitionManagerClass);
        if(runningTransitions.get() == null || runningTransitions.get().get() == null) {
            return;
        }
        ArrayMap map = runningTransitions.get().get();
        View decorView = getwindow().getDecorView();
        if(map.containsKey(decorView)) {
            map.remove(decorView);
        }
    } catch(Exception ignored) {
    }
}
项目:Morpheus    文件AttributeMapperUnitTest.java   
@Test
public void testmapAttributetoObjectJSONObject() throws Exception {
  JSONObject jsonObject = mock(JSONObject.class);
  Deserializer mockDeserializer = mock(Deserializer.class);
  AttributeMapper attributeMapper = new AttributeMapper(mockDeserializer,new Gson());
  JSONObject mockJSONObject = mock(JSONObject.class);
  Iterator mockIter = mock(Iterator.class);

  when(jsonObject.get("map")).thenReturn(new JSONObject());
  when(jsonObject.getJSONObject("map")).thenReturn(mockJSONObject);

  when(mockIter.hasNext()).thenReturn(true,true,false);
  when(mockIter.next()).thenReturn("Key 1","Key 2");
  when(mockJSONObject.keys()).thenReturn(mockIter);
  when(mockJSONObject.get(anyString())).thenReturn("String");

  Article article = new Article();
  Field field = Article.class.getDeclaredField("map");
  attributeMapper.mapAttributetoObject(article,jsonObject,field,"map");

  ArgumentCaptor<ArrayMap> mapArgumentCaptor = ArgumentCaptor.forClass(ArrayMap.class);

  verify(mockDeserializer).setField(Matchers.<Resource>anyObject(),eq("map"),mapArgumentCaptor.capture());

  assertNotNull(mapArgumentCaptor);
}
项目:NyanpasuTile    文件RecyclerView.java   
/**
 * A LayoutManager may want to layout a view just to animate disappearance.
 * This method handles those views and triggers remove animation on them.
 */
private void processdisappearingList(ArrayMap<View,Rect> appearingViews) {
    final int count = mdisappearingViewsInLayoutPass.size();
    for (int i = 0; i < count; i ++) {
        View view = mdisappearingViewsInLayoutPass.get(i);
        ViewHolder vh = getChildViewHolderInt(view);
        final ItemHolderInfo info = mState.mPreLayoutHolderMap.remove(vh);
        if (!mState.isPreLayout()) {
            mState.mPostLayoutHolderMap.remove(vh);
        }
        if (appearingViews.remove(view) != null) {
            mLayout.removeAndRecycleView(view,mRecycler);
            continue;
        }
        if (info != null) {
            animatedisappearance(info);
        } else {
            // let it disappear from the position it becomes visible
            animatedisappearance(new ItemHolderInfo(vh,view.getLeft(),view.getTop(),view.getRight(),view.getBottom()));
        }
    }
    mdisappearingViewsInLayoutPass.clear();
}
项目:nearby-beacons    文件EddystonescannerService.java   
@Override
public void onCreate() {
    super.onCreate();
    sRunning = true;

    mnotificationmanager =
            (notificationmanager) getSystemService(NOTIFICATION_SERVICE);

    BluetoothManager manager =
            (BluetoothManager) getSystemService(BLUetoOTH_SERVICE);
    mBluetoothLeScanner = manager.getAdapter().getBluetoothLeScanner();

    mDetectedBeacons = new ArrayMap<>();

    startScanning();
}
项目:ApkLauncher    文件IntentResolver.java   
private final void addFilter(ArrayMap<String,newa);
        }
    }
}
项目:SinaWeibo_Android    文件XmlUtils.java   
/**
 * Like {@link #readThisMapXml},but returns an ArrayMap instead of HashMap.
 * @hide
 */
@TargetApi(Build.VERSION_CODES.KITKAT)
public static final ArrayMap<String,IOException
{
    ArrayMap<String,val);
        } else if (eventType == parser.END_TAG) {
            if (parser.getName().equals(endTag)) {
                return map;
            }
            throw new XmlPullParserException(
                "Expected " + endTag + " end tag at: " + parser.getName());
        }
        eventType = parser.next();
    } while (eventType != parser.END_DOCUMENT);

    throw new XmlPullParserException(
        "Document ended before " + endTag + " end tag");
}
项目:buck    文件ResourcesLoader.java   
@TargetApi(KITKAT)
public List<LoadedApkInternal> getLoadedApks()
    throws NoSuchFieldException,illegalaccessexception {
  List<LoadedApkInternal> loadedApks = new ArrayList<>();
  for (String field : new String[] {"mPackages","mResourcePackages"}) {
    ArrayMap packages =
        (ArrayMap) Reflect.getField(activityThread,sActivityThreadClass,field);
    for (Object loadedApkRef : packages.values()) {
      Object loadedApk = ((WeakReference) loadedApkRef).get();
      if (loadedApk == null) {
        continue;
      }
      loadedApks.add(new LoadedApkInternal(loadedApk));
    }
  }
  return loadedApks;
}
项目:buck    文件ResourcesLoader.java   
@TargetApi(NOUGAT)
private static void updateResourceKeys(Context context,String originalResourcePath)
    throws InvocationTargetException,illegalaccessexception,NoSuchFieldException,IOException {
  List<String> exoResourcePaths = getExoPaths(context);
  if (exoResourcePaths.isEmpty()) {
    return;
  }
  String resDir = exoResourcePaths.get(0);
  String[] splitResDirs =
      exoResourcePaths
          .subList(1,exoResourcePaths.size())
          .toArray(new String[exoResourcePaths.size() - 1]);

  ArrayMap<?,?> resourceImpls = ResourcesManagerInternal.getInstance().getResourceImpls();
  ArrayMap<Object,Object> newResourceImpls = new ArrayMap<>(resourceImpls.size());
  for (Map.Entry<?,?> entry : resourceImpls.entrySet()) {
    Object key = entry.getKey();
    ResourcesKeyInternal keyInternal = new ResourcesKeyInternal(key);
    if (keyInternal.getResDir().equals(originalResourcePath)) {
      keyInternal.setResDir(resDir);
      keyInternal.setSplitResDirs(splitResDirs);
      newResourceImpls.put(key,entry.getValue());
    }
  }
  ResourcesManagerInternal.getInstance().setResourceImpls(newResourceImpls);
}
项目:TIIEHenry-Android-SDK    文件ZipUtil.java   
public void unZipAll(File outPath) throws FileNotFoundException,IOException {
FileInputStream fis= new FileInputStream(zipFile);
CheckedInputStream cos = new CheckedInputStream(fis,checksum);
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(cos));

ArrayMap<String,File> files=new ArrayMap<>();
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
  String entryName=entry.getName();
  files.put(entryName,new File(outPath,entryName));
}
zis.close();
unZip(files);
 }
项目:TIIEHenry-Android-SDK    文件ZipUtil.java   
private void unZip(ZipInputStream zis,File> files) throws FileExistsException,IOException {
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
  String entryName=entry.getName();
  File outFile=files.get(entryName);
  if (entry.isDirectory()) {
    outFile.mkdirs();
  } else {
    if (outFile != null) {
      if (outFile.exists())
        throw new FileExistsException(outFile);
      if (!outFile.getParentFile().exists() && !outFile.getParentFile().mkdirs())
        throw new IOException("can't mkdirs:" + outFile.getParent());
      if (onUpdateListener != null)
        onUpdateListener.onUpdate(entryName,outFile);

      bufferedoutputstream dest = new bufferedoutputstream(new FileOutputStream(outFile),buffer.length);
      int count;
      while ((count = zis.read(buffer,buffer.length)) != -1) {
        dest.write(buffer,count);
      }
      dest.flush();
      dest.close();
    }
  }
}
 }
项目:TIIEHenry-Android-SDK    文件Path.java   
public boolean copyTo(File path,boolean recover)throws FileExistsException,IOException {
if (isFile()) {
  if (path.exists()) 
    throw new FileExistsException(path.toString());
  if (!canRead())
    throw new IOException("Couldn't read file:" + path.getParent());
  path.getParentFile().mkdirs();
  if ((!path.exists()) || recover) {
    InputStream in=getInputStream();
    OutputStream out=new FileOutputStream(path);
    copyStream(in,out);
    in.close();
    out.close();
  }
} else if (isDirectory()) {
  path.mkdirs();
  ArrayMap<String,File> map=getDirMap();
  Iterator iter = map.entrySet().iterator();
  while (iter.hasNext()) {
    Map.Entry entry = (Map.Entry) iter.next();
    String name = (String) entry.getKey();
    File sourceFile=(File) entry.getValue();
    new Path(sourceFile).copyTo(path.getPath() + separator + name,recover);
  }
}
return true;
 }
项目:TIIEHenry-Android-SDK    文件Path.java   
private void addFiletoMap(ArrayMap<String,File> size,String namePerfix,File dir) {
for (File f:dir.listFiles()) {
  String fname=f.getName();
  if (f.isFile()) {
    size.put(namePerfix + fname,f);
  } else if (f.isDirectory()) {
    size.put(namePerfix + fname + "/",f);
    addFiletoMap(size,namePerfix + fname + "/",f);
  }
}
 }
项目:TIIEHenry-Android-SDK    文件Path.java   
public ArrayMap<String,File> getDirMap() {
if (!isDirectory())
  return null;
ArrayMap<String,File> size=new ArrayMap<>();
addFiletoMap(size,"",this);
return size;
 }
项目:ProgressManager    文件a.java   
NonConfigurationInstances retainNonConfigurationInstances() {
    Object activity = onRetainNonConfigurationInstance();
    HashMap<String,Object> children = onRetainNonConfigurationChildInstances();
    FragmentManagerNonConfig fragments = mFragments.retainnestednonConfig();

    // We're already stopped but we've been asked to retain.
    // Our fragments are taken care of but we need to mark the loaders for retention.
    // In order to do this correctly we need to restart the loaders first before
    // handing them off to the next activity.
    mFragments.doLoaderStart();
    mFragments.doLoaderStop(true);
    ArrayMap<String,LoaderManager> loaders = mFragments.retainLoaderNonConfig();

    if (activity == null && children == null && fragments == null && loaders == null
            && mVoiceInteractor == null) {
        return null;
    }

    NonConfigurationInstances nci = new NonConfigurationInstances();
    nci.activity = activity;
    nci.children = children;
    nci.fragments = fragments;
    nci.loaders = loaders;
    if (mVoiceInteractor != null) {
        mVoiceInteractor.retainInstance();
        nci.voiceInteractor = mVoiceInteractor;
    }
    return nci;
}
项目:FTC2016    文件Util.java   
/**
 * Gets the primary activity without calling from an Activity class
 *
 * @return the main Activity
 */
@SuppressWarnings("unchecked")
@TargetApi(Build.VERSION_CODES.KITKAT)
public static Activity getActivity() {
    /*ActivityManager am = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);
    ComponentName cn = am.getRunningTasks(1).get(0).topActivity;*/
    try {
        Class activityThreadClass = Class.forName("android.app.ActivityThread");
        Object activityThread = activityThreadClass.getmethod("currentActivityThread").invoke(null);
        Field activitiesField = activityThreadClass.getDeclaredField("mActivities");
        activitiesField.setAccessible(true);
        ArrayMap activities = (ArrayMap) activitiesField.get(activityThread);
        for (Object activityRecord : activities.values()) {
            Class activityRecordClass = activityRecord.getClass();
            Field pausedField = activityRecordClass.getDeclaredField("paused");
            pausedField.setAccessible(true);
            if (!pausedField.getBoolean(activityRecord)) {
                Field activityField = activityRecordClass.getDeclaredField("activity");
                activityField.setAccessible(true);
                return (Activity) activityField.get(activityRecord);
            }
        }
    } catch (final java.lang.Throwable e) {
        // handle exception
        throw new IllegalArgumentException("No activity Could be retrieved!");
    }
    throw new IllegalArgumentException("No activity Could be found!");
}
项目:CommentView    文件CanvasAreaView.java   
@TargetApi(Build.VERSION_CODES.KITKAT)
    private ArrayMap<String,Field> getFields() throws NoSuchMethodException,SecurityException,IllegalArgumentException,InvocationTargetException {
        ArrayMap<String,Field> arrayMap = new ArrayMap();
        for (Field field : getClass().getDeclaredFields()) {
//            if (field.getAnnotation(CanvasField.class) != null && CanvasArea.class.isAssignableFrom(field.getType())) {
//                arrayMap.put(field.getName(),field);
//            }
        }
        return arrayMap;
    }
项目:CommentView    文件CanvasAreaView.java   
@TargetApi(Build.VERSION_CODES.KITKAT)
    private ArrayMap<String,Method>[] getmethods() {
        ArrayMap<String,Method>[] arrayMapArr = new ArrayMap[]{new ArrayMap(),new ArrayMap()};
        for (Method method : getClass().getDeclaredMethods()) {
//            for (Annotation annotation : method.getAnnotations()) {
//                if (annotation instanceof CanvasOnClick) {
//                    CanvasOnClick canvasOnClick = (CanvasOnClick) annotation;
//                    if (canvasOnClick.values().length != 0) {
//                        for (Object put : canvasOnClick.values()) {
//                            arrayMapArr[0].put(put,method);
//                        }
//                    }
//                    if (!(canvasOnClick.value().equals("0") || arrayMapArr[0].containsKey(canvasOnClick.value()))) {
//                        arrayMapArr[0].put(canvasOnClick.value(),method);
//                    }
//                } else if (annotation instanceof CanvasOnLongClick) {
//                    CanvasOnLongClick canvasOnLongClick = (CanvasOnLongClick) annotation;
//                    if (canvasOnLongClick.values().length != 0) {
//                        for (Object put2 : canvasOnLongClick.values()) {
//                            arrayMapArr[1].put(put2,method);
//                        }
//                    }
//                    if (!(canvasOnLongClick.value().equals("0") || arrayMapArr[1].containsKey(canvasOnLongClick.value()))) {
//                        arrayMapArr[1].put(canvasOnLongClick.value(),method);
//                    }
//                }
//            }
        }
        return arrayMapArr;
    }
项目:HtmlNative    文件ViewTypeRelations.java   
static void registerExtraview(@NonNull String htmlType,@NonNull String androidViewClassName) {
    if (sExtraTagClasstable == null) {
        sExtraTagClasstable = new ArrayMap<>();
    }

    sExtraTagClasstable.put(htmlType,androidViewClassName);

}
项目:RobotIGS    文件Util.java   
/**
 * Gets the primary activity without calling from an Activity class
 *
 * @return the main Activity
 */
@SuppressWarnings("unchecked")
@TargetApi(Build.VERSION_CODES.KITKAT)
public static Activity getActivity() {
    /*ActivityManager am = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);
    ComponentName cn = am.getRunningTasks(1).get(0).topActivity;*/
    try {
        Class activityThreadClass = Class.forName("android.app.ActivityThread");
        Object activityThread = activityThreadClass.getmethod("currentActivityThread").invoke(null);
        Field activitiesField = activityThreadClass.getDeclaredField("mActivities");
        activitiesField.setAccessible(true);
        ArrayMap activities = (ArrayMap) activitiesField.get(activityThread);
        for (Object activityRecord : activities.values()) {
            Class activityRecordClass = activityRecord.getClass();
            Field pausedField = activityRecordClass.getDeclaredField("paused");
            pausedField.setAccessible(true);
            if (!pausedField.getBoolean(activityRecord)) {
                Field activityField = activityRecordClass.getDeclaredField("activity");
                activityField.setAccessible(true);
                return (Activity) activityField.get(activityRecord);
            }
        }
    } catch (final java.lang.Throwable e) {
        // handle exception
        throw new IllegalArgumentException("No activity Could be retrieved!");
    }
    throw new IllegalArgumentException("No activity Could be found!");
}
项目:Synapse    文件Versatile.java   
/**
 * Solve TransitionManager leak problem
 */
public static void removeActivityFromTransitionManager(Activity activity) {
    final Class transitionManagerClass = TransitionManager.class;

    try {
        final Field runningTransitionsField = transitionManagerClass.getDeclaredField("sRunningTransitions");

        if (runningTransitionsField == null) {
            return;
        }

        runningTransitionsField.setAccessible(true);

        //noinspection unchecked
        final ThreadLocal<WeakReference<ArrayMap<ViewGroup,ArrayList<Transition>>>>)
                runningTransitionsField.get(transitionManagerClass);

        if (runningTransitions == null
                || runningTransitions.get() == null
                || runningTransitions.get().get() == null) {
            return;
        }

        final ArrayMap map = runningTransitions.get().get();
        final View decorView = activity.getwindow().getDecorView();

        if (map.containsKey(decorView)) {
            map.remove(decorView);
        }
    } catch (Exception e) {
        e.printstacktrace();
    }
}
项目:wg_planer    文件TestServerCalls.java   
@Override
public ApiResponse<User> createuser(User user) {
    switch (testCase) {
        case SUCCESS: {
            return new ApiResponse<User>(200,new ArrayMap<String,List<String>>(),user);
        }
        case FAILURE: {
            return new ApiResponse<User>(0,null,null);
        }
        default: {
            return null;
        }
    }
}
项目:OpenYOLO-Android    文件CollectionConverter.java   
@NonNull
private static <T,U> Map<T,U> createMap(int size) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        return new ArrayMap<>(size);
    } else {
        return new HashMap<>();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。