All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.avos.avoscloud.im.v2.AVIMMessageCreator Maven / Gradle / Ivy

The newest version!
package com.avos.avoscloud.im.v2;

import android.os.Parcel;
import android.os.Parcelable;

import java.lang.reflect.Array;
import java.lang.reflect.Constructor;

/**
 * Created by lbt05 on 1/6/16.
 */
public class AVIMMessageCreator implements Parcelable.Creator {

  Class mClazz;

  public AVIMMessageCreator(Class clazz) {
    this.mClazz = clazz;
  }

  @Override
  public T createFromParcel(Parcel source) {
    AVIMMessage message = null;
    try {
      Constructor ctor = mClazz.getDeclaredConstructor(Parcel.class);
      message = ctor.newInstance(source);
    } catch (Exception ex) {
      message = new AVIMMessage(source);
    }
    message = AVIMMessageManager.parseTypedMessage(message);
    return (T) message;
  }

  @Override
  public T[] newArray(int size) {
    return (T[]) Array.newInstance(mClazz, size);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy