I think it is necessarily useful to someone and help.
In MSettings.apk describes all XhimiModelName, for the CC model:
public static boolean isCCAurora ()
{
return getEnvironment ( "XgimiModelName") equals ( "A511").;
}
public static boolean isCCJiGuang ()
{
return getEnvironment ( "XgimiModelName") equals ( "A211").;
}
public static boolean isCCJiGuangKumanon ()
{
return getEnvironment ( "XgimiModelName") equals ( "A311").;
}
public static boolean isCCStandard ()
{
return getEnvironment ( "XgimiModelName") equals ( "A111").;
}
I examined the applications for setting the variable XgimiModelName.
Yet found a place. This application miniTvFactory.apk
It has the following code:
package com.xgimi.minitvfactory.ui.view;
import android.content.Context;
import android.content.res.Resources;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.EditText;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;
import android.widget.Toast;
import com.xgimi.api.service.XgimiCommonManager;
import com.xgimi.minitvfactory.bean.FactoryTvAPI;
import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
public class PidEditItem
extends EditItem
{
private Handler mHandler = new Handler ()
{
public void handleMessage (Message paramAnonymousMessage)
{
switch (paramAnonymousMessage.what)
{
}
do
{
return;
paramAnonymousMessage = XgimiCommonManager.getInstance () getEnvironment ( "ethaddr").;
PidEditItem.this.setTitle (PidEditItem.this.getResources () getString (2131165198) + "::" + paramAnonymousMessage.);
Toast.makeText (PidEditItem.this.getContext (), "mac:" + paramAnonymousMessage + "????", 0) .show ();
return;
paramAnonymousMessage = XgimiCommonManager.getInstance () getEnvironment ( "XgimiModelName").;
PidEditItem.this.modelTextView.setText ( "model:" + paramAnonymousMessage);
return;
} While (paramAnonymousMessage.obj == null);
Toast.makeText (PidEditItem.this.getContext (), "" + paramAnonymousMessage.obj, 0) .show ();
}
};
private TextView modelTextView;
private Boolean shouldFocus = Boolean.valueOf (true);
public PidEditItem (Context paramContext)
{
super (paramContext);
}
private void changeMacFromNet (final String paramString)
{
new Thread (new Runnable ()
{
public void run ()
{
String str3 = "";
String str2 = "";
String str1 = "";
String str5 = "";
Object localObject16 = str2;
Object localObject12 = str1;
Object localObject8 = str3;
Object localObject17 = str2;
Object localObject13 = str1;
Object localObject9 = str3;
Object localObject18 = str2;
Object localObject14 = str1;
Object localObject10 = str3;
Object localObject19 = str2;
Object localObject15 = str1;
Object localObject11 = str3;
try
{
localObject1 = PidEditItem.this.getResultForHttpGet (paramString);
localObject16 = str2;
localObject12 = str1;
localObject8 = str3;
localObject17 = str2;
localObject13 = str1;
localObject9 = str3;
localObject18 = str2;
localObject14 = str1;
localObject10 = str3;
localObject19 = str2;
localObject15 = str1;
localObject11 = str3;
Log.i ( "PidEditItem", (String) localObject1);
localObject16 = str2;
localObject12 = str1;
localObject8 = str3;
localObject17 = str2;
localObject13 = str1;
localObject9 = str3;
localObject18 = str2;
localObject14 = str1;
localObject10 = str3;
localObject19 = str2;
localObject15 = str1;
localObject11 = str3;
JSONObject localJSONObject = new JSONObject ((String) localObject1);
str4 = str5;
localObject1 = str2;
localObject6 = str1;
localObject7 = str3;
if (localJSONObject! = null)
{
localObject16 = str2;
localObject12 = str1;
localObject8 = str3;
localObject17 = str2;
localObject13 = str1;
localObject9 = str3;
localObject18 = str2;
localObject14 = str1;
localObject10 = str3;
localObject19 = str2;
localObject15 = str1;
localObject11 = str3;
. LocalObject7 = PidEditItem.this.editText.getText () toString () trim ().;
localObject16 = str2;
localObject12 = str1;
localObject8 = localObject7;
localObject17 = str2;
localObject13 = str1;
localObject9 = localObject7;
localObject18 = str2;
localObject14 = str1;
localObject10 = localObject7;
localObject19 = str2;
localObject15 = str1;
localObject11 = localObject7;
. LocalObject1 = localJSONObject.get ( "data_mac") toString () replace ( "-", ":");.
localObject16 = localObject1;
localObject12 = str1;
localObject8 = localObject7;
localObject17 = localObject1;
localObject13 = str1;
localObject9 = localObject7;
localObject18 = localObject1;
localObject14 = str1;
localObject10 = localObject7;
localObject19 = localObject1;
localObject15 = str1;
localObject11 = localObject7;
. LocalObject6 = localJSONObject.get ( "data_model_code") toString ();
localObject16 = localObject1;
localObject12 = localObject6;
localObject8 = localObject7;
localObject17 = localObject1;
localObject13 = localObject6;
localObject9 = localObject7;
localObject18 = localObject1;
localObject14 = localObject6;
localObject10 = localObject7;
localObject19 = localObject1;
localObject15 = localObject6;
localObject11 = localObject7;
. Str4 = localJSONObject.get ( "remark") toString ();
}
}
catch (ClientProtocolException localClientProtocolException)
{
for (;;)
{
Object localObject1;
localClientProtocolException.printStackTrace ();
str4 = str5;
Object localObject2 = localObject16;
localObject6 = localObject12;
localObject7 = localObject8;
}
}
catch (IOException localIOException)
{
for (;;)
{
localIOException.printStackTrace ();
str4 = str5;
Object localObject3 = localObject17;
localObject6 = localObject13;
localObject7 = localObject9;
}
}
catch (JSONException localJSONException)
{
for (;;)
{
localJSONException.printStackTrace ();
str4 = str5;
Object localObject4 = localObject18;
localObject6 = localObject14;
localObject7 = localObject10;
}
}
catch (NullPointerException localNullPointerException)
{
String str4;
do
{
for (;;)
{
localNullPointerException.printStackTrace ();
str4 = str5;
localObject5 = localObject19;
Object localObject6 = localObject15;
Object localObject7 = localObject11;
}
} While (TextUtils.isEmpty (str4));
Object localObject5 = new Message ();
((Message) localObject5) .what = -1;
((Message) localObject5) .obj = str4;
PidEditItem.this.mHandler.sendMessage ((Message) localObject5);
}
if ((! TextUtils.isEmpty ((CharSequence) localObject7)) && (! TextUtils.isEmpty ((CharSequence) localObject1)))
{
FactoryTvAPI.setPID ((String) localObject7);
. XgimiCommonManager.getInstance () setEnvironmentHideInsecure ( "ethaddr", (String) localObject1);
localObject7 = new Message ();
((Message) localObject7) .what = 8;
((Message) localObject7) .obj = localObject1;
PidEditItem.this.mHandler.sendMessage ((Message) localObject7);
if (! TextUtils.isEmpty ((CharSequence) localObject6))
{
. XgimiCommonManager.getInstance () setEnvironmentHideInsecure ( "XgimiModelName", (String) localObject6);
localObject1 = new Message ();
((Message) localObject1) .what = 9;
((Message) localObject1) .obj = localObject6;
PidEditItem.this.mHandler.sendMessage ((Message) localObject1);
}
return;
}
}
.}) Start ();
}
private String getResultForHttpGet (String paramString)
throws ClientProtocolException, IOException
{
String str = "http://192.168.1.111/index.php?c=api&imei=" + paramString;
Object localObject = FactoryTvAPI.getPID ();
paramString = str;
if (! TextUtils.isEmpty ((CharSequence) localObject)) {
paramString = str + "& old_imei =" + (String) localObject;
}
str = "";
paramString = paramString.replaceAll ( "", "% 20");
Log.i ( "PidEditItem", paramString);
try
{
paramString = new HttpGet (paramString);
. LocalObject = new DefaultHttpClient () execute (paramString);
paramString = str;
if (((HttpResponse) localObject) .getStatusLine (). getStatusCode () == 200) {
paramString = EntityUtils.toString (((HttpResponse) localObject) .getEntity (), "UTF-8");
}
return paramString;
}
catch (Exception paramString)
{
Log.i ( "PidEditItem", "\ n YXP ######### URI IS ERR !!!! \ n");
}
return "";
}
protected void initItem ()
{
super.initItem ();
this.modelTextView = new TextView (getContext ());
this.modelTextView.setTextSize (20.0F);
this.modelTextView.setTextColor (-1);
this.modelTextView.setGravity (16);
Object localObject = new LinearLayout.LayoutParams (300, 40);
addView (this.modelTextView, (ViewGroup.LayoutParams) localObject);
String str = XgimiCommonManager.getInstance () getEnvironment ( "XgimiModelName").;
if ((str! = null) && (! TextUtils.isEmpty (str)))
{
localObject = str;
if (str! = "null") {}
}
else
{
localObject = "";
}
this.modelTextView.setText ( "model:" + (String) localObject);
this.editText.setInputType (0);
this.editText.setFocusable (true);
this.editText.setFocusableInTouchMode (true);
this.editText.setText (FactoryTvAPI.getPID ());
this.editText.setSelectAllOnFocus (true);
this.editText.setOnFocusChangeListener (new View.OnFocusChangeListener ()
{
public void onFocusChange (View paramAnonymousView, boolean paramAnonymousBoolean)
{
boolean bool2 = true;
PidEditItem localPidEditItem = PidEditItem.this;
boolean bool1;
if (! paramAnonymousBoolean)
{
bool1 = true;
localPidEditItem.setFocusable (bool1);
localPidEditItem = PidEditItem.this;
if (paramAnonymousBoolean) {
break label50;
}
bool1 = bool2;
label34:
localPidEditItem.setFocusableInTouchMode (bool1);
if (! paramAnonymousBoolean) {
break label55;
}
}
label50:
label55:
do
{
return;
bool1 = false;
break;
bool1 = false;
break label34;
.. ParamAnonymousView = ((EditText) paramAnonymousView) .getText () toString () trim ();
} While ((paramAnonymousView == null) || (paramAnonymousView.equals ( "")));
if (paramAnonymousView.length ()> 30)
{
Toast.makeText (PidEditItem.this.getContext (), "???????????????", 0) .show ();
PidEditItem.this.setText ( "");
FactoryTvAPI.setPID ( "");
return;
}
PidEditItem.this.changeMacFromNet (paramAnonymousView);
}
});
}
}
Having carefully considered the raw, you will notice changeMacFromNet procedure
in which the operation treasured
. XgimiCommonManager.getInstance () setEnvironmentHideInsecure ( "XgimiModelName", (String) localObject6);
The business is left - to understand that she was fed and how to call :))