android.os.Parcel#readParcelableArray ( )源码实例Demo

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

源代码1 项目: Upchain-wallet   文件: Transaction.java
protected Transaction(Parcel in) {
    hash = in.readString();
    error = in.readString();
    blockNumber = in.readString();
    timeStamp = in.readLong();
    nonce = in.readInt();
    from = in.readString();
    to = in.readString();
    value = in.readString();
    gas = in.readString();
    gasPrice = in.readString();
    input = in.readString();
    gasUsed = in.readString();
    Parcelable[] parcelableArray = in.readParcelableArray(TransactionOperation.class.getClassLoader());
    TransactionOperation[] operations = null;
    if (parcelableArray != null) {
        operations = Arrays.copyOf(parcelableArray, parcelableArray.length, TransactionOperation[].class);
    }
    this.operations = operations;
    this.contract = in.readString();
}
 
源代码2 项目: android_9.0.0_r45   文件: RestrictionEntry.java
public RestrictionEntry(Parcel in) {
    mType = in.readInt();
    mKey = in.readString();
    mTitle = in.readString();
    mDescription = in.readString();
    mChoiceEntries = in.readStringArray();
    mChoiceValues = in.readStringArray();
    mCurrentValue = in.readString();
    mCurrentValues = in.readStringArray();
    Parcelable[] parcelables = in.readParcelableArray(null);
    if (parcelables != null) {
        mRestrictions = new RestrictionEntry[parcelables.length];
        for (int i = 0; i < parcelables.length; i++) {
            mRestrictions[i] = (RestrictionEntry) parcelables[i];
        }
    }
}
 
源代码3 项目: alpha-wallet-android   文件: Transaction.java
protected Transaction(Parcel in)
{
	hash = in.readString();
	error = in.readString();
	blockNumber = in.readString();
	timeStamp = in.readLong();
	nonce = in.readInt();
	from = in.readString();
	to = in.readString();
	value = in.readString();
	gas = in.readString();
	gasPrice = in.readString();
	input = in.readString();
	gasUsed = in.readString();
	chainId = in.readInt();
	Parcelable[] parcelableArray = in.readParcelableArray(TransactionOperation.class.getClassLoader());
	TransactionOperation[] operations = null;
	if (parcelableArray != null)
	{
		operations = Arrays.copyOf(parcelableArray, parcelableArray.length, TransactionOperation[].class);
	}
	this.operations = operations;
}
 
@Override
public CharSequenceTransformation createFromParcel(Parcel parcel) {
    final AutofillId[] ids = parcel.readParcelableArray(null, AutofillId.class);
    final Pattern[] regexs = (Pattern[]) parcel.readSerializable();
    final String[] substs = parcel.createStringArray();

    // Always go through the builder to ensure the data ingested by
    // the system obeys the contract of the builder to avoid attacks
    // using specially crafted parcels.
    final CharSequenceTransformation.Builder builder =
            new CharSequenceTransformation.Builder(ids[0], regexs[0], substs[0]);

    final int size = ids.length;
    for (int i = 1; i < size; i++) {
        builder.addField(ids[i], regexs[i], substs[i]);
    }
    return builder.build();
}
 
源代码5 项目: android_9.0.0_r45   文件: BatchUpdates.java
@Override
public BatchUpdates createFromParcel(Parcel parcel) {
    // Always go through the builder to ensure the data ingested by
    // the system obeys the contract of the builder to avoid attacks
    // using specially crafted parcels.
    final Builder builder = new Builder();
    final int[] ids = parcel.createIntArray();
    if (ids != null) {
        final InternalTransformation[] values =
            parcel.readParcelableArray(null, InternalTransformation.class);
        final int size = ids.length;
        for (int i = 0; i < size; i++) {
            builder.transformChild(ids[i], values[i]);
        }
    }
    final RemoteViews updates = parcel.readParcelable(null);
    if (updates != null) {
        builder.updateTemplate(updates);
    }
    return builder.build();
}
 
源代码6 项目: android_9.0.0_r45   文件: RadioManager.java
private ModuleProperties(Parcel in) {
    mId = in.readInt();
    String serviceName = in.readString();
    mServiceName = TextUtils.isEmpty(serviceName) ? "default" : serviceName;
    mClassId = in.readInt();
    mImplementor = in.readString();
    mProduct = in.readString();
    mVersion = in.readString();
    mSerial = in.readString();
    mNumTuners = in.readInt();
    mNumAudioSources = in.readInt();
    mIsInitializationRequired = in.readInt() == 1;
    mIsCaptureSupported = in.readInt() == 1;
    Parcelable[] tmp = in.readParcelableArray(BandDescriptor.class.getClassLoader());
    mBands = new BandDescriptor[tmp.length];
    for (int i = 0; i < tmp.length; i++) {
        mBands[i] = (BandDescriptor) tmp[i];
    }
    mIsBgScanSupported = in.readInt() == 1;
    mSupportedProgramTypes = arrayToSet(in.createIntArray());
    mSupportedIdentifierTypes = arrayToSet(in.createIntArray());
    mDabFrequencyTable = Utils.readStringIntMap(in);
    mVendorInfo = Utils.readStringMap(in);
}
 
源代码7 项目: android_9.0.0_r45   文件: UsbDevice.java
public UsbDevice createFromParcel(Parcel in) {
    String name = in.readString();
    int vendorId = in.readInt();
    int productId = in.readInt();
    int clasz = in.readInt();
    int subClass = in.readInt();
    int protocol = in.readInt();
    String manufacturerName = in.readString();
    String productName = in.readString();
    String version = in.readString();
    String serialNumber = in.readString();
    Parcelable[] configurations = in.readParcelableArray(UsbInterface.class.getClassLoader());
    UsbDevice device = new UsbDevice(name, vendorId, productId, clasz, subClass, protocol,
                         manufacturerName, productName, version, serialNumber);
    device.setConfigurations(configurations);
    return device;
}
 
源代码8 项目: ETHWallet   文件: Transaction.java
protected Transaction(Parcel in) {
    hash = in.readString();
    error = in.readString();
    blockNumber = in.readString();
    timeStamp = in.readLong();
    nonce = in.readInt();
    from = in.readString();
    to = in.readString();
    value = in.readString();
    gas = in.readString();
    gasPrice = in.readString();
    input = in.readString();
    gasUsed = in.readString();
    Parcelable[] parcelableArray = in.readParcelableArray(TransactionOperation.class.getClassLoader());
    TransactionOperation[] operations = null;
    if (parcelableArray != null) {
        operations = Arrays.copyOf(parcelableArray, parcelableArray.length, TransactionOperation[].class);
    }
    this.operations = operations;
}
 
源代码9 项目: epoxy   文件: ViewHolderState.java
@Override
public ViewState createFromParcel(Parcel source, ClassLoader loader) {
  int size = source.readInt();
  int[] keys = new int[size];
  source.readIntArray(keys);
  Parcelable[] values = source.readParcelableArray(loader);
  return new ViewState(size, keys, values);
}
 
源代码10 项目: Firefly   文件: ParcelableTest.java
@Test
public void shouldSupportParcelArray() throws Exception {
    Parcel parcel = Parcel.obtain();
    TestStruct struct = new TestStruct();
    struct.a = 321;
    struct.e = TestEnum.A;
    struct.bin = new byte[]{123};
    parcel.writeParcelableArray(new TestStruct[]{new TestStruct(), struct}, 0);
    parcel.setDataPosition(0);
    TestStruct readStruct = (TestStruct) parcel.readParcelableArray(getClass().getClassLoader())[1];
    Assert.assertEquals(struct.a, readStruct.a);
    Assert.assertEquals(struct.e, readStruct.e);
    Assert.assertArrayEquals(struct.bin, readStruct.bin);
}
 
源代码11 项目: android_9.0.0_r45   文件: UsbInterface.java
public UsbInterface createFromParcel(Parcel in) {
    int id = in.readInt();
    int alternateSetting = in.readInt();
    String name = in.readString();
    int Class = in.readInt();
    int subClass = in.readInt();
    int protocol = in.readInt();
    Parcelable[] endpoints = in.readParcelableArray(UsbEndpoint.class.getClassLoader());
    UsbInterface intf = new UsbInterface(id, alternateSetting, name, Class, subClass, protocol);
    intf.setEndpoints(endpoints);
    return intf;
}
 
源代码12 项目: android_9.0.0_r45   文件: UsbConfiguration.java
public UsbConfiguration createFromParcel(Parcel in) {
    int id = in.readInt();
    String name = in.readString();
    int attributes = in.readInt();
    int maxPower = in.readInt();
    Parcelable[] interfaces = in.readParcelableArray(UsbInterface.class.getClassLoader());
    UsbConfiguration configuration = new UsbConfiguration(id, name, attributes, maxPower);
    configuration.setInterfaces(interfaces);
    return configuration;
}
 
源代码13 项目: android_9.0.0_r45   文件: GestureDescription.java
public GestureStep(Parcel parcel) {
    timeSinceGestureStart = parcel.readLong();
    Parcelable[] parcelables =
            parcel.readParcelableArray(TouchPoint.class.getClassLoader());
    numTouchPoints = (parcelables == null) ? 0 : parcelables.length;
    touchPoints = new TouchPoint[numTouchPoints];
    for (int i = 0; i < numTouchPoints; i++) {
        touchPoints[i] = (TouchPoint) parcelables[i];
    }
}
 
源代码14 项目: android_9.0.0_r45   文件: ShortcutInfo.java
private ShortcutInfo(Parcel source) {
    final ClassLoader cl = getClass().getClassLoader();

    mUserId = source.readInt();
    mId = source.readString();
    mPackageName = source.readString();
    mActivity = source.readParcelable(cl);
    mFlags = source.readInt();
    mIconResId = source.readInt();
    mLastChangedTimestamp = source.readLong();
    mDisabledReason = source.readInt();

    if (source.readInt() == 0) {
        return; // key information only.
    }

    mIcon = source.readParcelable(cl);
    mTitle = source.readCharSequence();
    mTitleResId = source.readInt();
    mText = source.readCharSequence();
    mTextResId = source.readInt();
    mDisabledMessage = source.readCharSequence();
    mDisabledMessageResId = source.readInt();
    mIntents = source.readParcelableArray(cl, Intent.class);
    mIntentPersistableExtrases = source.readParcelableArray(cl, PersistableBundle.class);
    mRank = source.readInt();
    mExtras = source.readParcelable(cl);
    mBitmapPath = source.readString();

    mIconResName = source.readString();
    mTitleResName = source.readString();
    mTextResName = source.readString();
    mDisabledMessageResName = source.readString();

    int N = source.readInt();
    if (N == 0) {
        mCategories = null;
    } else {
        mCategories = new ArraySet<>(N);
        for (int i = 0; i < N; i++) {
            mCategories.add(source.readString().intern());
        }
    }
}
 
源代码15 项目: android_9.0.0_r45   文件: FillResponse.java
@Override
public FillResponse createFromParcel(Parcel parcel) {
    // Always go through the builder to ensure the data ingested by
    // the system obeys the contract of the builder to avoid attacks
    // using specially crafted parcels.
    final Builder builder = new Builder();
    final ParceledListSlice<Dataset> datasetSlice = parcel.readParcelable(null);
    final List<Dataset> datasets = (datasetSlice != null) ? datasetSlice.getList() : null;
    final int datasetCount = (datasets != null) ? datasets.size() : 0;
    for (int i = 0; i < datasetCount; i++) {
        builder.addDataset(datasets.get(i));
    }
    builder.setSaveInfo(parcel.readParcelable(null));
    builder.setClientState(parcel.readParcelable(null));

    // Sets authentication state.
    final AutofillId[] authenticationIds = parcel.readParcelableArray(null,
            AutofillId.class);
    final IntentSender authentication = parcel.readParcelable(null);
    final RemoteViews presentation = parcel.readParcelable(null);
    if (authenticationIds != null) {
        builder.setAuthentication(authenticationIds, authentication, presentation);
    }
    final RemoteViews header = parcel.readParcelable(null);
    if (header != null) {
        builder.setHeader(header);
    }
    final RemoteViews footer = parcel.readParcelable(null);
    if (footer != null) {
        builder.setFooter(footer);
    }

    builder.setIgnoredIds(parcel.readParcelableArray(null, AutofillId.class));
    final long disableDuration = parcel.readLong();
    if (disableDuration > 0) {
        builder.disableAutofill(disableDuration);
    }
    final AutofillId[] fieldClassifactionIds =
            parcel.readParcelableArray(null, AutofillId.class);
    if (fieldClassifactionIds != null) {
        builder.setFieldClassificationIds(fieldClassifactionIds);
    }
    builder.setFlags(parcel.readInt());

    final FillResponse response = builder.build();
    response.setRequestId(parcel.readInt());

    return response;
}
 
源代码16 项目: android_9.0.0_r45   文件: OptionalValidators.java
@Override
public OptionalValidators createFromParcel(Parcel parcel) {
    return new OptionalValidators(parcel
        .readParcelableArray(null, InternalValidator.class));
}
 
源代码17 项目: android_9.0.0_r45   文件: LuhnChecksumValidator.java
@Override
public LuhnChecksumValidator createFromParcel(Parcel parcel) {
    return new LuhnChecksumValidator(parcel.readParcelableArray(null, AutofillId.class));
}
 
源代码18 项目: android_9.0.0_r45   文件: SaveInfo.java
@Override
public SaveInfo createFromParcel(Parcel parcel) {

    // Always go through the builder to ensure the data ingested by
    // the system obeys the contract of the builder to avoid attacks
    // using specially crafted parcels.
    final int type = parcel.readInt();
    final AutofillId[] requiredIds = parcel.readParcelableArray(null, AutofillId.class);
    final Builder builder = requiredIds != null
            ? new Builder(type, requiredIds)
            : new Builder(type);
    final AutofillId[] optionalIds = parcel.readParcelableArray(null, AutofillId.class);
    if (optionalIds != null) {
        builder.setOptionalIds(optionalIds);
    }

    builder.setNegativeAction(parcel.readInt(), parcel.readParcelable(null));
    builder.setDescription(parcel.readCharSequence());
    final CustomDescription customDescripton = parcel.readParcelable(null);
    if (customDescripton != null) {
        builder.setCustomDescription(customDescripton);
    }
    final InternalValidator validator = parcel.readParcelable(null);
    if (validator != null) {
        builder.setValidator(validator);
    }
    final InternalSanitizer[] sanitizers =
            parcel.readParcelableArray(null, InternalSanitizer.class);
    if (sanitizers != null) {
        final int size = sanitizers.length;
        for (int i = 0; i < size; i++) {
            final AutofillId[] autofillIds =
                    parcel.readParcelableArray(null, AutofillId.class);
            builder.addSanitizer(sanitizers[i], autofillIds);
        }
    }
    final AutofillId triggerId = parcel.readParcelable(null);
    if (triggerId != null) {
        builder.setTriggerId(triggerId);
    }
    builder.setFlags(parcel.readInt());
    return builder.build();
}
 
源代码19 项目: android_9.0.0_r45   文件: CaptureRequest.java
/**
 * Expand this object from a Parcel.
 * Hidden since this breaks the immutability of CaptureRequest, but is
 * needed to receive CaptureRequests with aidl.
 *
 * @param in The parcel from which the object should be read
 * @hide
 */
private void readFromParcel(Parcel in) {
    int physicalCameraCount = in.readInt();
    if (physicalCameraCount <= 0) {
        throw new RuntimeException("Physical camera count" + physicalCameraCount +
                " should always be positive");
    }

    //Always start with the logical camera id
    mLogicalCameraId = in.readString();
    mLogicalCameraSettings = new CameraMetadataNative();
    mLogicalCameraSettings.readFromParcel(in);
    setNativeInstance(mLogicalCameraSettings);
    mPhysicalCameraSettings.put(mLogicalCameraId, mLogicalCameraSettings);
    for (int i = 1; i < physicalCameraCount; i++) {
        String physicalId = in.readString();
        CameraMetadataNative physicalCameraSettings = new CameraMetadataNative();
        physicalCameraSettings.readFromParcel(in);
        mPhysicalCameraSettings.put(physicalId, physicalCameraSettings);
    }

    mIsReprocess = (in.readInt() == 0) ? false : true;
    mReprocessableSessionId = CameraCaptureSession.SESSION_ID_NONE;

    synchronized (mSurfacesLock) {
        mSurfaceSet.clear();
        Parcelable[] parcelableArray = in.readParcelableArray(Surface.class.getClassLoader());
        if (parcelableArray != null) {
            for (Parcelable p : parcelableArray) {
                Surface s = (Surface) p;
                mSurfaceSet.add(s);
            }
        }
        // Intentionally disallow java side readFromParcel to receive streamIdx/surfaceIdx
        // Since there is no good way to convert indexes back to Surface
        int streamSurfaceSize = in.readInt();
        if (streamSurfaceSize != 0) {
            throw new RuntimeException("Reading cached CaptureRequest is not supported");
        }
    }
}
 
源代码20 项目: kernel_adiutor   文件: Tab.java
@Override
public Tab createFromParcel(Parcel parcel) {
    Tab tab = new Tab(null);
    tab.setTitle(parcel.readString());

    List<Simple> simples = new ArrayList<>();
    List<Divider> dividers = new ArrayList<>();
    List<EditText> editTexts = new ArrayList<>();
    List<Information> informations = new ArrayList<>();
    List<Popup> popups = new ArrayList<>();
    List<SeekBar> seekBars = new ArrayList<>();
    List<Switcher> switchers = new ArrayList<>();
    List<Progress> progresses = new ArrayList<>();

    for (Parcelable simple : parcel.readParcelableArray(Simple.class.getClassLoader()))
        simples.add((Simple) simple);
    for (Parcelable divider : parcel.readParcelableArray(Divider.class.getClassLoader()))
        dividers.add((Divider) divider);
    for (Parcelable edittext : parcel.readParcelableArray(EditText.class.getClassLoader()))
        editTexts.add((EditText) edittext);
    for (Parcelable information : parcel.readParcelableArray(Information.class.getClassLoader()))
        informations.add((Information) information);
    for (Parcelable popup : parcel.readParcelableArray(Popup.class.getClassLoader()))
        popups.add((Popup) popup);
    for (Parcelable seekbar : parcel.readParcelableArray(SeekBar.class.getClassLoader()))
        seekBars.add((SeekBar) seekbar);
    for (Parcelable switcher : parcel.readParcelableArray(Switcher.class.getClassLoader()))
        switchers.add((Switcher) switcher);
    for (Parcelable progress : parcel.readParcelableArray(Progress.class.getClassLoader()))
        progresses.add((Progress) progress);

    List<Item> items = new ArrayList<>();
    items.addAll(simples);
    items.addAll(dividers);
    items.addAll(editTexts);
    items.addAll(informations);
    items.addAll(popups);
    items.addAll(seekBars);
    items.addAll(switchers);
    items.addAll(progresses);
    for (int i = 0; i < items.size(); i++)
        for (Item item : items) if (item.getId() == i) tab.addItem(item);

    tab.setPackageName(parcel.readString());
    tab.setOnRefreshPendingListener((PendingIntent) parcel.readParcelable(PendingIntent.class.getClassLoader()),
            parcel.readInt());

    return tab;
}
 
 方法所在类
 同类方法