android.util.SparseIntArray#put ( )源码实例Demo

下面列出了android.util.SparseIntArray#put ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Study_Android_Demo   文件: EaseContactAdapter.java
@Override
public Object[] getSections() {
    positionOfSection = new SparseIntArray();
    sectionOfPosition = new SparseIntArray();
    int count = getCount();
    list = new ArrayList<String>();
    list.add(getContext().getString(R.string.search_header));
    positionOfSection.put(0, 0);
    sectionOfPosition.put(0, 0);
    for (int i = 1; i < count; i++) {

        String letter = getItem(i).getInitialLetter();
        int section = list.size() - 1;
        if (list.get(section) != null && !list.get(section).equals(letter)) {
            list.add(letter);
            section++;
            positionOfSection.put(section, i);
        }
        sectionOfPosition.put(i, section);
    }
    return list.toArray(new String[list.size()]);
}
 
private boolean updateFirewallUidRuleLocked(int chain, int uid, int rule) {
    synchronized (mRulesLock) {
        SparseIntArray uidFirewallRules = getUidFirewallRulesLR(chain);

        final int oldUidFirewallRule = uidFirewallRules.get(uid, FIREWALL_RULE_DEFAULT);
        if (DBG) {
            Slog.d(TAG, "oldRule = " + oldUidFirewallRule
                    + ", newRule=" + rule + " for uid=" + uid + " on chain " + chain);
        }
        if (oldUidFirewallRule == rule) {
            if (DBG) Slog.d(TAG, "!!!!! Skipping change");
            // TODO: eventually consider throwing
            return false;
        }

        String ruleName = getFirewallRuleName(chain, rule);
        String oldRuleName = getFirewallRuleName(chain, oldUidFirewallRule);

        if (rule == NetworkPolicyManager.FIREWALL_RULE_DEFAULT) {
            uidFirewallRules.delete(uid);
        } else {
            uidFirewallRules.put(uid, rule);
        }
        return !ruleName.equals(oldRuleName);
    }
}
 
源代码3 项目: Tehreer-Android   文件: BidiInfoActivity.java
private void writeLineText(SpannableStringBuilder builder, BidiLine line) {
    SparseIntArray visualMap = new SparseIntArray();

    int counter = 1;
    for (BidiRun bidiRun : line.getVisualRuns()) {
        visualMap.put(bidiRun.charStart, counter);
        counter++;
    }

    int runCount = visualMap.size();
    if (runCount > 0) {
        appendText(builder, "Visual Order\n", spansSecondHeading());

        for (int i = 0; i < runCount; i++) {
            int runIndex = visualMap.valueAt(i);
            appendText(builder, "<Run " + runIndex + ">", spansInlineHeading());
            appendText(builder, " ");
        }

        appendText(builder, "\n\n");
    }
}
 
源代码4 项目: Overchan-Android   文件: GenericThemeEntry.java
private GenericThemeEntry(Parcel in) {
    this.themeId = in.readInt();
    this.fontSizeStyleId = in.readInt();
    int n = in.readInt();
    if (n == -1) {
        this.customAttrs = null;
    } else {
        SparseIntArray attrs = new SparseIntArray();
        for (int i=0; i<n; ++i) {
            int key = in.readInt();
            int value = in.readInt();
            attrs.put(key, value);
        }
        this.customAttrs = attrs;
    }
}
 
源代码5 项目: WayHoo   文件: ObservableListView.java
/**
 * Called by CREATOR.
 */
private SavedState(Parcel in) {
    super(in);
    prevFirstVisiblePosition = in.readInt();
    prevFirstVisibleChildHeight = in.readInt();
    prevScrolledChildrenHeight = in.readInt();
    prevScrollY = in.readInt();
    scrollY = in.readInt();
    childrenHeights = new SparseIntArray();
    final int numOfChildren = in.readInt();
    if (0 < numOfChildren) {
        for (int i = 0; i < numOfChildren; i++) {
            final int key = in.readInt();
            final int value = in.readInt();
            childrenHeights.put(key, value);
        }
    }
}
 
源代码6 项目: NewFastFrame   文件: ChatListAdapter.java
@Override
protected SparseIntArray getLayoutIdMap() {
    SparseIntArray sparseArray = new SparseIntArray();
    sparseArray.put(ChatBean.TYPE_LEFT, R.layout.item_activity_chat_list_left);
    sparseArray.put(ChatBean.TYPE_RIGHT, R.layout.item_activity_chat_list_right);
    return sparseArray;
}
 
源代码7 项目: unmock-plugin   文件: SimpleTest.java
@Test
public void testSparseIntArray() {
    SparseIntArray sia = new SparseIntArray();
    sia.put(12, 999);
    sia.put(99, 12);

    assertEquals(999, sia.get(12));
}
 
源代码8 项目: fresco   文件: FakeNativeMemoryChunkPool.java
private static SparseIntArray getBucketSizes() {
  final SparseIntArray bucketSizes = new SparseIntArray();
  bucketSizes.put(4, 10);
  bucketSizes.put(8, 10);
  bucketSizes.put(16, 10);
  bucketSizes.put(32, 10);
  return bucketSizes;
}
 
源代码9 项目: UltraViewPager   文件: PagerActivity.java
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (buttonView == loopCheckBox) {
        ultraViewPager.setInfiniteLoop(isChecked);
    }
    if (buttonView == autoScrollCheckBox) {
        if (isChecked) {
            SparseIntArray special = new SparseIntArray();
            special.put(0, 5000);
            special.put(1, 1500);
            ultraViewPager.setAutoScroll(2000, special);
        } else
            ultraViewPager.disableAutoScroll();
    }
}
 
源代码10 项目: fresco   文件: GenericByteArrayPoolTest.java
@Before
public void setup() {
  final SparseIntArray bucketSizes = new SparseIntArray();
  bucketSizes.put(32, 2);
  bucketSizes.put(64, 1);
  bucketSizes.put(128, 1);
  mPool =
      new GenericByteArrayPool(
          mock(MemoryTrimmableRegistry.class),
          new PoolParams(128, bucketSizes),
          mock(PoolStatsTracker.class));
}
 
源代码11 项目: Storm   文件: RecyclerObjectPool.java
protected void moveItems(int fromPosition, int toPosition, int count) {
    final SparseIntArray positions = getPositions();
    int index;
    int value;
    for (int i = fromPosition, delta = 0; i < fromPosition + count; i++, delta++) {
        index = positions.indexOfKey(i);
        if (index >= 0) {
            value = positions.valueAt(index);
            positions.removeAt(index);
            positions.put(toPosition + delta, value);
        }
    }
}
 
源代码12 项目: VideoOS-Android-SDK   文件: UDBaseRecyclerView.java
/**
 * 初始化spanCount,并保存
 *
 * @param maxSpanCount
 */
void initSpanSize(int maxSpanCount) {
    mSpanSize = new SparseIntArray();
    int totalCount = getTotalCount();
    for (int i = 0; i < totalCount; i++) {
        int[] size = callCellSize(LuaValue.NIL, i);
        int spanSize = Math.max(0, Math.min(maxSpanCount, size[0]));//0 <= spanSize <= maxSpanCount
        mSpanSize.put(i, spanSize);
    }
}
 
源代码13 项目: Android-nRF-Mesh-Library   文件: SubGroupAdapter.java
private SparseArray<SparseIntArray> groupModelsBasedOnAppKeys() {
    final SparseArray<SparseIntArray> groupedKeyModels = new SparseArray<>();
    for (MeshModel model : mModels) {
        for (Integer keyIndex : model.getBoundAppKeyIndexes()) {
            final SparseIntArray sparseIntArr = groupedKeyModels.get(keyIndex, new SparseIntArray());
            final int modelIdCount = sparseIntArr.get(model.getModelId(), 0);
            sparseIntArr.put(model.getModelId(), modelIdCount + 1);
            groupedKeyModels.put(keyIndex, sparseIntArr);
        }
    }
    return groupedKeyModels;
}
 
源代码14 项目: speechutils   文件: IntentUtils.java
/**
 * @return table that maps SpeechRecognizer error codes to RecognizerIntent error codes
 */
public static SparseIntArray createErrorCodesServiceToIntent() {
    SparseIntArray errorCodes = new SparseIntArray();
    errorCodes.put(SpeechRecognizer.ERROR_AUDIO, RecognizerIntent.RESULT_AUDIO_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_CLIENT, RecognizerIntent.RESULT_CLIENT_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONS, RecognizerIntent.RESULT_CLIENT_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_NETWORK, RecognizerIntent.RESULT_NETWORK_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_NETWORK_TIMEOUT, RecognizerIntent.RESULT_NETWORK_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_NO_MATCH, RecognizerIntent.RESULT_NO_MATCH);
    errorCodes.put(SpeechRecognizer.ERROR_RECOGNIZER_BUSY, RecognizerIntent.RESULT_SERVER_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_SERVER, RecognizerIntent.RESULT_SERVER_ERROR);
    errorCodes.put(SpeechRecognizer.ERROR_SPEECH_TIMEOUT, RecognizerIntent.RESULT_NO_MATCH);
    return errorCodes;
}
 
源代码15 项目: CC   文件: LoginActivity.java
private void sendLoginResult() {
    if (resultSent) {
        return;
    }
    resultSent = true;
    //判断是否为CC调用打开本页面
    if (callId != null) {
        CCResult result;
        if (UserStateManager.getLoginUser() == null) {
            result = CCResult.error("login canceled");
        } else {
            //演示跨app传递自定义类型及各种集合类型
            List<User> list = new ArrayList<>();
            list.add(new User(1, "aaa"));
            list.add(new User(3, "ccc"));
            SparseArray<User> userSparseArray = new SparseArray<>();
            userSparseArray.put(1, new User(1, "a"));
            userSparseArray.put(10, new User(10, "a"));
            userSparseArray.put(30, new User(30, "a"));
            User[][] userArray = new User[5][2];
            SparseIntArray sparseIntArray = new SparseIntArray();
            sparseIntArray.put(1, 111);
            sparseIntArray.put(2, 222);
            Map<String, User> map = new HashMap<>();
            map.put("user1", new User(1, "111"));
            map.put("user2", new User(2, "222"));

            result = CCResult.success(UserStateManager.KEY_USER, UserStateManager.getLoginUser()) //User
                    .addData("list", list) // List<User>
                    .addData("nullObject", null) //null
                    .addData("sparseArray", userSparseArray) //SparseArray<User>
                    .addData("sparseIntArray", sparseIntArray) //SparseIntArray/SparseLongArray
                    .addData("user2Array", userArray) // User[][]
                    .addData("untypedArray", list.toArray()) // Object[]
                    .addData("typedArray", list.toArray(new User[]{})) // User[]
                    .addData("map", map) // Map
            ;
        }
        //为确保不管登录成功与否都会调用CC.sendCCResult,在onDestroy方法中调用
        CC.sendCCResult(callId, result);
    }
}
 
源代码16 项目: simple-keyboard   文件: KeyboardParams.java
private static int updateHistogramCounter(final SparseIntArray histogram, final int key) {
    final int index = histogram.indexOfKey(key);
    final int count = (index >= 0 ? histogram.get(key) : 0) + 1;
    histogram.put(key, count);
    return count;
}
 
源代码17 项目: sdl_java_suite   文件: SdlRouterServiceTests.java
/**
 * Test sending UAI to an app whose session id is the same as a removed app
 * but is indeed a different app
 *
 * @see SdlRouterService#sendPacketToRegisteredApp(SdlPacket)
 */
public void testRegisterAppExistingSessionIDDifferentApp() {
	if (Looper.myLooper() == null) {
		Looper.prepare();
	}
	Method method;
	try {
		// create instance of router service
		SdlRouterService sdlRouterService = new SdlRouterService();

		// We need a registered app for this to work
		Message message = Message.obtain();
		SdlRouterService.RegisteredApp app1 = sdlRouterService.new RegisteredApp("12345",message.replyTo);
		SdlRouterService.RegisteredApp app2 = sdlRouterService.new RegisteredApp("12344",message.replyTo);
		HashMap<String,SdlRouterService.RegisteredApp> registeredApps = new HashMap<>();
		registeredApps.put(app1.getAppId(),app1);
		registeredApps.put(app2.getAppId(),app2);

		// set registered apps array
		Field raf = sdlRouterService.getClass().getDeclaredField("registeredApps");
		raf.setAccessible(true);
		raf.set(sdlRouterService, registeredApps);

		// need a session map too
		SparseArray<String> sessionMap = new SparseArray<String>();
		sessionMap.put(1, "12345");
		Field sessionMapField = sdlRouterService.getClass().getDeclaredField("bluetoothSessionMap");
		sessionMapField.setAccessible(true);
		sessionMapField.set(sdlRouterService, sessionMap);

		// set cleaned session map
		SparseIntArray testCleanedMap = new SparseIntArray();
		testCleanedMap.put(1, 12345);
		Field f = sdlRouterService.getClass().getDeclaredField("cleanedSessionMap");
		f.setAccessible(true);
		f.set(sdlRouterService, testCleanedMap);

		// set session hash id map
		SparseIntArray testHashIdMap = new SparseIntArray();
		testHashIdMap.put(1, 12344);
		Field f2 = sdlRouterService.getClass().getDeclaredField("sessionHashIdMap");
		f2.setAccessible(true);
		f2.set(sdlRouterService, testHashIdMap);

		// make sure maps are set and NOT the same
		Assert.assertNotNull(raf.get(sdlRouterService));
		Assert.assertNotNull(sessionMapField.get(sdlRouterService));
		Assert.assertNotNull(f.get(sdlRouterService));
		Assert.assertNotNull(f2.get(sdlRouterService));

		// make da RPC
		UnregisterAppInterface request = new UnregisterAppInterface();
		request.setCorrelationID(SAMPLE_RPC_CORRELATION_ID);

		// build protocol message
		byte[] msgBytes = JsonRPCMarshaller.marshall(request, (byte) version);
		pm = new ProtocolMessage();
		pm.setData(msgBytes);
		pm.setSessionID((byte) sessionId);
		pm.setMessageType(MessageType.RPC);
		pm.setSessionType(SessionType.RPC);
		pm.setFunctionID(FunctionID.getFunctionId(request.getFunctionName()));
		pm.setCorrID(request.getCorrelationID());

		if (request.getBulkData() != null) {
			pm.setBulkData(request.getBulkData());
		}

		// binary frame header
		byte[] data = new byte[12 + pm.getJsonSize()];
		binFrameHeader = SdlPacketFactory.createBinaryFrameHeader(pm.getRPCType(), pm.getFunctionID(), pm.getCorrID(), pm.getJsonSize());
		System.arraycopy(binFrameHeader.assembleHeaderBytes(), 0, data, 0, 12);
		System.arraycopy(pm.getData(), 0, data, 12, pm.getJsonSize());

		// create packet and invoke sendPacketToRegisteredApp
		SdlPacket packet = new SdlPacket(4, false, SdlPacket.FRAME_TYPE_SINGLE, SdlPacket.SERVICE_TYPE_RPC, 0, sessionId, data.length, 123, data);
		packet.setTransportRecord(new TransportRecord(TransportType.BLUETOOTH,null));
		method = sdlRouterService.getClass().getDeclaredMethod("sendPacketToRegisteredApp", SdlPacket.class);
		Boolean success = (Boolean) method.invoke(sdlRouterService, packet);

		// we do not want the UAI packet to be sent. make sure it is dropped
		Assert.assertFalse(success);

	} catch (Exception e) {
		Assert.fail("Exception in sendPacketToRegisteredApp, " + e);
	}
}
 
源代码18 项目: AndroidChromium   文件: TabPersistentStore.java
private void restoreTab(
        TabRestoreDetails tabToRestore, TabState tabState, boolean setAsActive) {
    // If we don't have enough information about the Tab, bail out.
    boolean isIncognito = isIncognitoTabBeingRestored(tabToRestore, tabState);
    if (tabState == null) {
        if (tabToRestore.isIncognito == null) {
            Log.w(TAG, "Failed to restore tab: not enough info about its type was available.");
            return;
        } else if (isIncognito) {
            Log.i(TAG, "Failed to restore Incognito tab: its TabState could not be restored.");
            return;
        }
    }

    TabModel model = mTabModelSelector.getModel(isIncognito);
    SparseIntArray restoredTabs = isIncognito ? mIncognitoTabsRestored : mNormalTabsRestored;
    int restoredIndex = 0;
    if (tabToRestore.fromMerge) {
        // Put any tabs being merged into this list at the end.
        restoredIndex = mTabModelSelector.getModel(isIncognito).getCount();
    } else if (restoredTabs.size() > 0
            && tabToRestore.originalIndex > restoredTabs.keyAt(restoredTabs.size() - 1)) {
        // If the tab's index is too large, restore it at the end of the list.
        restoredIndex = restoredTabs.size();
    } else {
         // Otherwise try to find the tab we should restore before, if any.
        for (int i = 0; i < restoredTabs.size(); i++) {
            if (restoredTabs.keyAt(i) > tabToRestore.originalIndex) {
                Tab nextTabByIndex = TabModelUtils.getTabById(model, restoredTabs.valueAt(i));
                restoredIndex = nextTabByIndex != null ? model.indexOf(nextTabByIndex) : -1;
                break;
            }
        }
    }

    int tabId = tabToRestore.id;
    if (tabState != null) {
        mTabCreatorManager.getTabCreator(isIncognito).createFrozenTab(
                tabState, tabToRestore.id, restoredIndex);
    } else {
        Log.w(TAG, "Failed to restore TabState; creating Tab with last known URL.");
        Tab fallbackTab = mTabCreatorManager.getTabCreator(isIncognito).createNewTab(
                new LoadUrlParams(tabToRestore.url), TabModel.TabLaunchType.FROM_RESTORE, null);
        tabId = fallbackTab.getId();
        model.moveTab(tabId, restoredIndex);
    }

    // If the tab is being restored from a merge and its index is 0, then the model being
    // merged into doesn't contain any tabs. Select the first tab to avoid having no tab
    // selected. TODO(twellington): The first tab will always be selected. Instead, the tab that
    // was selected in the other model before the merge should be selected after the merge.
    if (setAsActive || (tabToRestore.fromMerge && restoredIndex == 0)) {
        boolean wasIncognitoTabModelSelected = mTabModelSelector.isIncognitoSelected();
        int selectedModelTabCount = mTabModelSelector.getCurrentModel().getCount();

        TabModelUtils.setIndex(model, TabModelUtils.getTabIndexById(model, tabId));
        boolean isIncognitoTabModelSelected = mTabModelSelector.isIncognitoSelected();

        // Setting the index will cause the tab's model to be selected. Set it back to the model
        // that was selected before setting the index if the index is being set during a merge
        // unless the previously selected model is empty (e.g. showing the empty background
        // view on tablets).
        if (tabToRestore.fromMerge
                && wasIncognitoTabModelSelected != isIncognitoTabModelSelected
                && selectedModelTabCount != 0) {
            mTabModelSelector.selectModel(wasIncognitoTabModelSelected);
        }
    }
    restoredTabs.put(tabToRestore.originalIndex, tabId);
}
 
源代码19 项目: xdroid   文件: CursorAdapterX.java
private void init() {
    mLayoutId = new SparseIntArray();
    mLayoutId.put(0, android.R.layout.simple_list_item_1);
}
 
源代码20 项目: emoji-keyboard   文件: Nature.java
public static void bindSoftBankEmojis(SparseIntArray map) {
    map.put(0xe030, R.drawable.emoji_1f338);
    map.put(0xe031, R.drawable.emoji_1f531);
    map.put(0xe032, R.drawable.emoji_1f339);
    map.put(0xe033, R.drawable.emoji_1f384);
    map.put(0xe019, R.drawable.emoji_1f3a3);
    map.put(0xe01a, R.drawable.emoji_1f434);
    map.put(0xe048, R.drawable.emoji_26c4);
    map.put(0xe049, R.drawable.emoji_2601);
    map.put(0xe04a, R.drawable.emoji_2600);
    map.put(0xe04b, R.drawable.emoji_2614);
    map.put(0xe04c, R.drawable.emoji_1f313);
    map.put(0xe04d, R.drawable.emoji_1f304);
    map.put(0xe04f, R.drawable.emoji_1f431);
    map.put(0xe050, R.drawable.emoji_1f42f);
    map.put(0xe051, R.drawable.emoji_1f43b);
    map.put(0xe052, R.drawable.emoji_1f429);
    map.put(0xe053, R.drawable.emoji_1f42d);
    map.put(0xe054, R.drawable.emoji_1f433);
    map.put(0xe055, R.drawable.emoji_1f427);
    map.put(0xe10a, R.drawable.emoji_1f419);
    map.put(0xe10b, R.drawable.emoji_1f437);
    map.put(0xe10c, R.drawable.emoji_1f47d);
    map.put(0xe110, R.drawable.emoji_1f331);
    map.put(0xe111, R.drawable.emoji_1f48f);
    map.put(0xe117, R.drawable.emoji_1f386);
    map.put(0xe118, R.drawable.emoji_1f341);
    map.put(0xe119, R.drawable.emoji_1f342);
    map.put(0xe304, R.drawable.emoji_1f337);
    map.put(0xe305, R.drawable.emoji_1f33b);
    map.put(0xe306, R.drawable.emoji_1f490);
    map.put(0xe307, R.drawable.emoji_1f334);
    map.put(0xe308, R.drawable.emoji_1f335);
    map.put(0xe520, R.drawable.emoji_1f42c);
    map.put(0xe521, R.drawable.emoji_1f426);
    map.put(0xe522, R.drawable.emoji_1f420);
    map.put(0xe523, R.drawable.emoji_1f423);
    map.put(0xe524, R.drawable.emoji_1f439);
    map.put(0xe525, R.drawable.emoji_1f41b);
    map.put(0xe526, R.drawable.emoji_1f418);
    map.put(0xe527, R.drawable.emoji_1f428);
    map.put(0xe528, R.drawable.emoji_1f412);
    map.put(0xe529, R.drawable.emoji_1f411);
    map.put(0xe52a, R.drawable.emoji_1f43a);
    map.put(0xe52b, R.drawable.emoji_1f42e);
    map.put(0xe52c, R.drawable.emoji_1f430);
    map.put(0xe52d, R.drawable.emoji_1f40d);
    map.put(0xe52e, R.drawable.emoji_1f414);
    map.put(0xe52f, R.drawable.emoji_1f417);
    map.put(0xe530, R.drawable.emoji_1f42b);
    map.put(0xe531, R.drawable.emoji_1f438);
    map.put(0xe440, R.drawable.emoji_1f387);
    map.put(0xe441, R.drawable.emoji_1f41a);
    map.put(0xe442, R.drawable.emoji_1f390);
    map.put(0xe443, R.drawable.emoji_1f300);
    map.put(0xe444, R.drawable.emoji_1f33e);
    map.put(0xe445, R.drawable.emoji_1f383);
    map.put(0xe446, R.drawable.emoji_1f391);
    map.put(0xe447, R.drawable.emoji_1f343);
}