package com.android.qualcomm.qcrilhook;
import android.content.Context;
import android.os.AsyncResult;
import android.os.Handler;
import android.os.Message;
import android.os.Registrant;
import android.os.RegistrantList;
import android.util.Log;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.HashMap;
public class EmbmsOemHook extends Handler
{
private static final short EMBMSHOOK_MSG_ID_ACTIVATE = 2;
private static final short EMBMSHOOK_MSG_ID_DEACTIVATE = 3;
private static final short EMBMSHOOK_MSG_ID_DISABLE = 1;
private static final short EMBMSHOOK_MSG_ID_ENABLE = 0;
private static final short EMBMSHOOK_MSG_ID_GET_ACTIVE = 5;
private static final short EMBMSHOOK_MSG_ID_GET_AVAILABLE = 4;
private static final short EMBMSHOOK_MSG_ID_GET_COVERAGE = 8;
private static final short EMBMSHOOK_MSG_ID_UNSOL_ACTIVE_TMGI_LIST = 12;
private static final short EMBMSHOOK_MSG_ID_UNSOL_AVAILABLE_TMGI_LIST = 15;
private static final short EMBMSHOOK_MSG_ID_UNSOL_COVERAGE_STATE = 13;
private static final short EMBMSHOOK_MSG_ID_UNSOL_OOS_STATE = 16;
private static final short EMBMSHOOK_MSG_ID_UNSOL_STATE_CHANGE = 11;
private static final short EMBMS_SERVICE_ID = 2;
private static final int FAILURE = -1;
private static String LOG_TAG = "EmbmsOemHook";
private static final int OEM_HOOK_RESPONSE = 1;
private static final int SIZE_OF_TMGI = 6;
private static final int SUCCESS = 0;
private static final byte TLV_TYPE_ACTIVATE_REQ_ALL_SESSIONS = 3;
private static final byte TLV_TYPE_ACTIVATE_REQ_CALL_ID = 4;
private static final byte TLV_TYPE_ACTIVATE_REQ_SESSION_ID = 2;
private static final byte TLV_TYPE_ACTIVATE_REQ_TMGI = 1;
private static final byte TLV_TYPE_ACTIVATE_RESP_CALL_ID = 16;
private static final byte TLV_TYPE_ACTIVATE_RESP_TMGI = 17;
private static final byte TLV_TYPE_DEACTIVATE_REQ_CALL_ID = 1;
private static final byte TLV_TYPE_DEACTIVATE_REQ_TMGI = 2;
private static final byte TLV_TYPE_DEACTIVATE_RESP_CALL_ID = 16;
private static final byte TLV_TYPE_DEACTIVATE_RESP_TMGI = 17;
private static final byte TLV_TYPE_DISABLE_REQ_CALL_ID = 1;
private static final byte TLV_TYPE_DISABLE_RESP_CALL_ID = 16;
private static final byte TLV_TYPE_ENABLE_RESP_CALL_ID = 16;
private static final byte TLV_TYPE_ENABLE_RESP_IFNAME = 17;
private static final byte TLV_TYPE_ENABLE_RESP_IF_INDEX = 18;
private static final byte TLV_TYPE_GET_ACTIVE_REQ_CALL_ID = 1;
private static final byte TLV_TYPE_GET_ACTIVE_RESP_TMGI_ARRAY = 16;
private static final byte TLV_TYPE_GET_AVAILABLE_REQ_CALL_ID = 1;
private static final byte TLV_TYPE_GET_AVAILABLE_RESP_TMGI_ARRAY = 16;
private static final byte TLV_TYPE_GET_COVERAGE_STATE_RESP_STATE = 16;
private static final short TLV_TYPE_UNSOL_ACTIVE_IND_TMGI_ARRAY = 1;
private static final short TLV_TYPE_UNSOL_AVAILABLE_IND_SESSION_ID_ARRAY = 2;
private static final short TLV_TYPE_UNSOL_AVAILABLE_IND_TMGI_ARRAY = 1;
private static final short TLV_TYPE_UNSOL_COVERAGE_IND_STATE = 1;
private static final short TLV_TYPE_UNSOL_OOS_IND_STATE = 1;
private static final short TLV_TYPE_UNSOL_OOS_IND_TMGI_ARRAY = 2;
private static final short TLV_TYPE_UNSOL_STATE_IND_IF_INDEX = 3;
private static final short TLV_TYPE_UNSOL_STATE_IND_IP_ADDRESS = 2;
private static final short TLV_TYPE_UNSOL_STATE_IND_STATE = 1;
public static final int UNSOL_TYPE_ACTIVE_TMGI_LIST = 2;
public static final int UNSOL_TYPE_AVAILABLE_TMGI_LIST = 4;
public static final int UNSOL_TYPE_BROADCAST_COVERAGE = 3;
public static final int UNSOL_TYPE_OOS_STATE = 5;
public static final int UNSOL_TYPE_STATE_CHANGE = 1;
private static int mRefCount = 0;
private static EmbmsOemHook sInstance;
private QmiOemHook mQmiOemHook;
private RegistrantList mRegistrants;
private EmbmsOemHook(Context paramContext)
{
Log.v(LOG_TAG, "EmbmsOemHook ()");
this.mQmiOemHook = QmiOemHook.getInstance(paramContext);
this.mRegistrants = new RegistrantList();
}
private static String bytesToHexString(byte[] paramArrayOfByte)
{
if (paramArrayOfByte == null)
return null;
StringBuilder localStringBuilder = new StringBuilder(2 * paramArrayOfByte.length);
for (int i = 0; i < paramArrayOfByte.length; i++)
{
localStringBuilder.append("0123456789abcdef".charAt(0xF & paramArrayOfByte[i] >> 4));
localStringBuilder.append("0123456789abcdef".charAt(0xF & paramArrayOfByte[i]));
}
return localStringBuilder.toString();
}
public static EmbmsOemHook getInstance(Context paramContext)
{
try
{
if (sInstance == null)
{
sInstance = new EmbmsOemHook(paramContext);
Log.d(LOG_TAG, "Singleton Instance of Embms created.");
QmiOemHook.registerService((short)2, sInstance, 1);
}
mRefCount = 1 + mRefCount;
EmbmsOemHook localEmbmsOemHook = sInstance;
return localEmbmsOemHook;
}
finally
{
}
}
private void handleResponse(HashMap<Integer, Object> paramHashMap)
{
int i = ((Short)paramHashMap.get(Integer.valueOf(8))).shortValue();
int j = ((Integer)paramHashMap.get(Integer.valueOf(2))).intValue();
int k = ((Integer)paramHashMap.get(Integer.valueOf(3))).intValue();
Message localMessage = (Message)paramHashMap.get(Integer.valueOf(4));
ByteBuffer localByteBuffer = (ByteBuffer)paramHashMap.get(Integer.valueOf(6));
Log.v(LOG_TAG, " responseSize=" + j + " successStatus=" + k);
switch (i)
{
case 6:
case 7:
case 9:
case 10:
case 14:
default:
Log.e(LOG_TAG, "received unexpected msgId " + i);
return;
case 0:
localMessage.obj = new EnableResponse(k, localByteBuffer);
localMessage.sendToTarget();
return;
case 1:
localMessage.obj = new DisableResponse(k, localByteBuffer);
localMessage.sendToTarget();
return;
case 2:
case 3:
localMessage.obj = new TmgiResponse(k, localByteBuffer);
localMessage.sendToTarget();
return;
case 11:
notifyUnsol(1, new StateChangeInfo(localByteBuffer));
return;
case 4:
case 15:
if ((i == 4) && (k != 0))
{
Log.e(LOG_TAG, "Error received in EMBMSHOOK_MSG_ID_GET_AVAILABLE: " + k);
return;
}
notifyUnsol(4, new TmgiListIndication(localByteBuffer));
return;
case 5:
case 12:
if ((i == 5) && (k != 0))
{
Log.e(LOG_TAG, "Error received in EMBMSHOOK_MSG_ID_GET_ACTIVE: " + k);
return;
}
notifyUnsol(2, new TmgiListIndication(localByteBuffer));
return;
case 8:
case 13:
if ((i == 8) && (k != 0))
{
Log.e(LOG_TAG, "Error received in EMBMSHOOK_MSG_ID_GET_COVERAGE: " + k);
return;
}
notifyUnsol(3, new CoverageState(localByteBuffer));
return;
case 16:
}
notifyUnsol(5, new OosState(localByteBuffer));
}
private void notifyUnsol(int paramInt, Object paramObject)
{
AsyncResult localAsyncResult = new AsyncResult(null, new UnsolObject(paramInt, paramObject), null);
Log.i(LOG_TAG, "Notifying registrants type = " + paramInt);
this.mRegistrants.notifyRegistrants(localAsyncResult);
}
private byte[] parseTmgi(ByteBuffer paramByteBuffer)
{
int i = 0;
int j = paramByteBuffer.get();
byte[] arrayOfByte = new byte[j * 6];
int k = 0;
while (k < j)
{
int m = paramByteBuffer.get();
int n = 0;
int i2;
for (int i1 = i; n < m; i1 = i2)
{
i2 = i1 + 1;
arrayOfByte[i1] = paramByteBuffer.get();
n++;
}
k++;
i = i1;
}
return arrayOfByte;
}
public int activateTmgi(byte[] paramArrayOfByte, byte paramByte1, byte paramByte2, boolean paramBoolean, String[] paramArrayOfString, int[] paramArrayOfInt, Message paramMessage)
{
TmgiActivateRequest localTmgiActivateRequest = new TmgiActivateRequest(paramArrayOfByte, paramByte1, paramByte2, paramBoolean);
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)2, localTmgiActivateRequest.getTypes(), localTmgiActivateRequest.getItems(), paramMessage);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during activate !!!!!!");
}
return -1;
}
public int deactivateTmgi(byte[] paramArrayOfByte, byte paramByte, Message paramMessage)
{
TmgiDeActivateRequest localTmgiDeActivateRequest = new TmgiDeActivateRequest(paramArrayOfByte, paramByte);
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)3, localTmgiDeActivateRequest.getTypes(), localTmgiDeActivateRequest.getItems(), paramMessage);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during deactivate !!!!!!");
}
return -1;
}
public int disable(byte paramByte, Message paramMessage)
{
GenericRequest localGenericRequest = new GenericRequest(paramByte);
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)1, localGenericRequest.getTypes(), localGenericRequest.getItems(), paramMessage);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during disable !!!!!!");
}
return -1;
}
public void dispose()
{
try
{
int i = -1 + mRefCount;
mRefCount = i;
if (i == 0)
{
Log.d(LOG_TAG, "dispose(): Unregistering receiver");
QmiOemHook.unregisterService(2);
this.mQmiOemHook.dispose();
sInstance = null;
}
while (true)
{
return;
Log.v(LOG_TAG, "dispose mRefCount = " + mRefCount);
}
}
finally
{
}
}
public int enable(Message paramMessage)
{
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)0, paramMessage);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during enable !!!!!!");
}
return -1;
}
public int getActiveTMGIList(byte paramByte)
{
GenericRequest localGenericRequest = new GenericRequest(paramByte);
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)5, localGenericRequest.getTypes(), localGenericRequest.getItems(), null);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during getActiveTMGIList !!!!!!");
}
return -1;
}
public int getAvailableTMGIList(byte paramByte)
{
GenericRequest localGenericRequest = new GenericRequest(paramByte);
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)4, localGenericRequest.getTypes(), localGenericRequest.getItems(), null);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during getAvailableTMGIList !!!!!!");
}
return -1;
}
public int getCoverageState()
{
try
{
this.mQmiOemHook.sendQmiMessageAsync((short)2, (short)8, null);
return 0;
}
catch (IOException localIOException)
{
Log.e(LOG_TAG, "IOException occurred during getActiveTMGIList !!!!!!");
}
return -1;
}
public void handleMessage(Message paramMessage)
{
Log.i(LOG_TAG, "received message : " + paramMessage.what);
switch (paramMessage.what)
{
default:
Log.e(LOG_TAG, "Unexpected message received from QmiOemHook what = " + paramMessage.what);
return;
case 1:
}
HashMap localHashMap = (HashMap)((AsyncResult)paramMessage.obj).result;
if (localHashMap == null)
{
Log.e(LOG_TAG, "Hashmap async userobj is NULL");
return;
}
handleResponse(localHashMap);
}
public void registerForNotifications(Handler paramHandler, int paramInt, Object paramObject)
{
Registrant localRegistrant = new Registrant(paramHandler, paramInt, paramObject);
synchronized (this.mRegistrants)
{
Log.i(LOG_TAG, "Adding a registrant");
this.mRegistrants.add(localRegistrant);
return;
}
}
public void unregisterForNotifications(Handler paramHandler)
{
synchronized (this.mRegistrants)
{
Log.i(LOG_TAG, "Removing a registrant");
this.mRegistrants.remove(paramHandler);
return;
}
}
public class CoverageState
{
public int state;
public int status;
public CoverageState(ByteBuffer arg2)
{
Object localObject;
while (localObject.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localObject.get());
PrimitiveParser.toUnsigned(localObject.getShort());
switch (i)
{
default:
Log.e(EmbmsOemHook.LOG_TAG, "CoverageState: Unexpected Type " + i);
break;
case 1:
case 16:
this.state = localObject.getInt();
Log.i(EmbmsOemHook.LOG_TAG, "Coverage State = " + this.state);
}
}
}
}
public class DisableResponse
{
public byte callId;
public int error;
public DisableResponse(int paramByteBuffer, ByteBuffer arg3)
{
if (paramByteBuffer != 0)
{
this.error = paramByteBuffer;
this.callId = 0;
}
while (true)
{
return;
Object localObject;
this.callId = localObject.get();
Log.i(EmbmsOemHook.LOG_TAG, "callid = " + this.callId);
while (localObject.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localObject.get());
PrimitiveParser.toUnsigned(localObject.getShort());
switch (i)
{
case 16:
}
Log.e(EmbmsOemHook.LOG_TAG, "DisableResponse: Unexpected Type " + i);
}
}
}
}
public class EnableResponse
{
public byte callId;
public int error;
public int ifIndex;
public String interfaceName;
public EnableResponse(int paramByteBuffer, ByteBuffer arg3)
{
if (paramByteBuffer != 0)
{
this.error = paramByteBuffer;
this.callId = 0;
this.interfaceName = null;
this.ifIndex = 0;
}
while (true)
{
return;
Object localObject;
this.callId = localObject.get();
Log.i(EmbmsOemHook.LOG_TAG, "callid = " + this.callId);
while (localObject.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localObject.get());
int j = PrimitiveParser.toUnsigned(localObject.getShort());
switch (i)
{
case 16:
default:
Log.e(EmbmsOemHook.LOG_TAG, "EnableResponse: Unexpected Type " + i);
break;
case 17:
byte[] arrayOfByte = new byte[j];
for (int k = 0; k < j; k++)
arrayOfByte[k] = localObject.get();
this.interfaceName = new QmiPrimitiveTypes.QmiString(arrayOfByte).toStringValue();
Log.i(EmbmsOemHook.LOG_TAG, "ifName = " + this.interfaceName);
break;
case 18:
this.ifIndex = localObject.getInt();
Log.i(EmbmsOemHook.LOG_TAG, "ifIndex = " + this.ifIndex);
}
}
}
}
}
public class GenericRequest extends BaseQmiTypes.BaseQmiStructType
{
public QmiPrimitiveTypes.QmiByte callId;
public GenericRequest(byte arg2)
{
byte b;
this.callId = new QmiPrimitiveTypes.QmiByte(b);
}
public BaseQmiTypes.BaseQmiItemType[] getItems()
{
BaseQmiTypes.BaseQmiItemType[] arrayOfBaseQmiItemType = new BaseQmiTypes.BaseQmiItemType[1];
arrayOfBaseQmiItemType[0] = this.callId;
return arrayOfBaseQmiItemType;
}
public short[] getTypes()
{
return new short[] { 1 };
}
}
public class OosState
{
public byte[] list = null;
public int state;
public OosState(ByteBuffer arg2)
{
ByteBuffer localByteBuffer;
while (localByteBuffer.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localByteBuffer.get());
PrimitiveParser.toUnsigned(localByteBuffer.getShort());
switch (i)
{
default:
Log.e(EmbmsOemHook.LOG_TAG, "OosState: Unexpected Type " + i);
break;
case 1:
this.state = localByteBuffer.getInt();
Log.i(EmbmsOemHook.LOG_TAG, "OOs State = " + this.state);
break;
case 2:
this.list = EmbmsOemHook.this.parseTmgi(localByteBuffer);
Log.i(EmbmsOemHook.LOG_TAG, "tmgiArray = " + EmbmsOemHook.bytesToHexString(this.list));
}
}
}
}
public class StateChangeInfo
{
public int ifIndex;
public String ipAddress;
public int state;
public StateChangeInfo(int paramString, String paramInt1, int arg4)
{
this.state = paramString;
this.ipAddress = paramInt1;
int i;
this.ifIndex = i;
}
public StateChangeInfo(ByteBuffer arg2)
{
Object localObject;
while (localObject.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localObject.get());
int j = PrimitiveParser.toUnsigned(localObject.getShort());
switch (i)
{
default:
Log.e(EmbmsOemHook.LOG_TAG, "StateChangeInfo: Unexpected Type " + i);
break;
case 1:
this.state = localObject.getInt();
Log.i(EmbmsOemHook.LOG_TAG, "State = " + this.state);
break;
case 2:
byte[] arrayOfByte = new byte[j];
for (int k = 0; k < j; k++)
arrayOfByte[k] = localObject.get();
this.ipAddress = new QmiPrimitiveTypes.QmiString(arrayOfByte).toString();
Log.i(EmbmsOemHook.LOG_TAG, "ip Address = " + this.ipAddress);
break;
case 3:
this.ifIndex = localObject.getInt();
Log.i(EmbmsOemHook.LOG_TAG, "index = " + this.ifIndex);
}
}
}
}
public class TmgiActivateRequest extends BaseQmiTypes.BaseQmiStructType
{
public QmiPrimitiveTypes.QmiByte allSessions;
public QmiPrimitiveTypes.QmiByte callId;
public QmiPrimitiveTypes.QmiByte sessionId;
public QmiPrimitiveTypes.QmiArray<QmiPrimitiveTypes.QmiByte> tmgi;
public TmgiActivateRequest(byte[] paramByte1, byte paramByte2, byte paramBoolean, boolean arg5)
{
QmiPrimitiveTypes.QmiByte[] arrayOfQmiByte = new QmiPrimitiveTypes.QmiByte[paramByte1.length];
for (int j = 0; j < paramByte1.length; j++)
arrayOfQmiByte[j] = new QmiPrimitiveTypes.QmiByte(paramByte1[j]);
this.tmgi = new QmiPrimitiveTypes.QmiArray(arrayOfQmiByte, (short)6, QmiPrimitiveTypes.QmiByte.class);
this.callId = new QmiPrimitiveTypes.QmiByte(paramByte2);
this.sessionId = new QmiPrimitiveTypes.QmiByte(paramBoolean);
byte b = 0;
int i;
if (i != 0)
b = 1;
this.allSessions = new QmiPrimitiveTypes.QmiByte(b);
}
public BaseQmiTypes.BaseQmiItemType[] getItems()
{
BaseQmiTypes.BaseQmiItemType[] arrayOfBaseQmiItemType = new BaseQmiTypes.BaseQmiItemType[4];
arrayOfBaseQmiItemType[0] = this.tmgi;
arrayOfBaseQmiItemType[1] = this.sessionId;
arrayOfBaseQmiItemType[2] = this.allSessions;
arrayOfBaseQmiItemType[3] = this.callId;
return arrayOfBaseQmiItemType;
}
public short[] getTypes()
{
return new short[] { 1, 2, 3, 4 };
}
}
public class TmgiDeActivateRequest extends BaseQmiTypes.BaseQmiStructType
{
public QmiPrimitiveTypes.QmiByte callId;
public QmiPrimitiveTypes.QmiArray<QmiPrimitiveTypes.QmiByte> tmgi;
public TmgiDeActivateRequest(byte[] paramByte, byte arg3)
{
QmiPrimitiveTypes.QmiByte[] arrayOfQmiByte = new QmiPrimitiveTypes.QmiByte[paramByte.length];
for (int i = 0; i < paramByte.length; i++)
arrayOfQmiByte[i] = new QmiPrimitiveTypes.QmiByte(paramByte[i]);
this.tmgi = new QmiPrimitiveTypes.QmiArray(arrayOfQmiByte, (short)6, QmiPrimitiveTypes.QmiByte.class);
byte b;
this.callId = new QmiPrimitiveTypes.QmiByte(b);
}
public BaseQmiTypes.BaseQmiItemType[] getItems()
{
BaseQmiTypes.BaseQmiItemType[] arrayOfBaseQmiItemType = new BaseQmiTypes.BaseQmiItemType[2];
arrayOfBaseQmiItemType[0] = this.tmgi;
arrayOfBaseQmiItemType[1] = this.callId;
return arrayOfBaseQmiItemType;
}
public short[] getTypes()
{
return new short[] { 2, 1 };
}
}
public class TmgiListIndication
{
public byte[] list = null;
public byte[] sessions = null;
public TmgiListIndication(ByteBuffer arg2)
{
ByteBuffer localByteBuffer;
while (localByteBuffer.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localByteBuffer.get());
PrimitiveParser.toUnsigned(localByteBuffer.getShort());
switch (i)
{
default:
Log.e(EmbmsOemHook.LOG_TAG, "TmgiListIndication: Unexpected Type " + i);
break;
case 1:
case 16:
this.list = EmbmsOemHook.this.parseTmgi(localByteBuffer);
Log.i(EmbmsOemHook.LOG_TAG, "tmgiArray = " + EmbmsOemHook.bytesToHexString(this.list));
break;
case 2:
int j = 0;
int k = localByteBuffer.get();
byte[] arrayOfByte = new byte[k * 6];
int m = 0;
while (m < k)
{
int n = localByteBuffer.get();
int i1 = 0;
int i3;
for (int i2 = j; i1 < n; i2 = i3)
{
i3 = i2 + 1;
arrayOfByte[i2] = localByteBuffer.get();
i1++;
}
m++;
j = i2;
}
this.sessions = arrayOfByte;
Log.i(EmbmsOemHook.LOG_TAG, "session array = " + EmbmsOemHook.bytesToHexString(this.sessions));
}
}
}
}
public class TmgiResponse
{
public int status;
public byte[] tmgi = null;
public TmgiResponse(int paramByteBuffer, ByteBuffer arg3)
{
this.status = paramByteBuffer;
Object localObject;
while (localObject.hasRemaining())
{
int i = PrimitiveParser.toUnsigned(localObject.get());
PrimitiveParser.toUnsigned(localObject.getShort());
switch (i)
{
default:
Log.e(EmbmsOemHook.LOG_TAG, "TmgiResponse: Unexpected Type " + i);
break;
case 17:
int k = localObject.get();
byte[] arrayOfByte = new byte[k];
for (int m = 0; m < k; m++)
arrayOfByte[m] = localObject.get();
this.tmgi = arrayOfByte;
Log.i(EmbmsOemHook.LOG_TAG, "tmgi = " + EmbmsOemHook.bytesToHexString(this.tmgi));
break;
case 16:
int j = localObject.get();
Log.i(EmbmsOemHook.LOG_TAG, "callid = " + j);
}
}
}
}
public class UnsolObject
{
public Object obj;
public int unsolId;
public UnsolObject(int paramObject, Object arg3)
{
this.unsolId = paramObject;
Object localObject;
this.obj = localObject;
}
}
}