Table of Contents
- 1. WebApp Directory structure
- 2. Sample App
- 3. Dreamhost servers
- 4. Offline
- 5. Crazy Maik
- 6. Actions and Commands
- 7. session fragment
- 8. Network
- 9. functionality
- 10. printing
- 11. HitiPPR_GetPrinterInfo
- 12. PrintingPhotoUtility
- 13. Network Discovery
- 14. update yii apps
- 15. ACT I. Scene I. Verona. A...
- 16. Scene II. A Street.
- 17. Scene III. Capulet's house.
- 18. Scene IV. A street.
- 19. Scene V. Capulet's house.
- 20. PROLOGUE
- 21. ACT II. Scene I. A lane b...
- 22. Scene II. Capulet's orchard.
- 23. Scene III. Friar Laurence...
- 24. Scene IV. A street.
- 25. Scene V. Capulet's orchard.
- 26. Scene VI. Friar Laurence'...
- 27. ACT III. Scene I. A publi...
- 28. Scene II. Capulet's orchard.
- 29. Scene III. Friar Laurence...
- 30. Scene IV. Capulet's house
- 31. Scene V. Capulet's orchard.
- 32. ACT IV. Scene I. Friar La...
- 33. Scene II. Capulet's house.
- 34. Scene III. Juliet's chamber.
- 35. Scene IV. Capulet's house.
- 36. Scene V. Juliet's chamber.
- 37. ACT V. Scene I. Mantua. A...
- 38. Scene II. Verona. Friar L...
printing
The print command is given by the user via the m_PrintCheckImageButton
button in activity_printview
. Inside PrintView_GP_Activity
this results in a call to GeneralPrint()
.
private void GeneralPrint()
{
SetPrintButtonStatus(true);
if (m_bWaitForRecovery)
{
RecoveryPrint();
return;
}
if (m_iSelRoute == 1)
{
m_MobileUtility.SetStop(false);
m_MobileUtility.SetTextureAndPrintOut();
m_MobileUtility.SendPhoto();
return;
} else
{
m_SDcardUtility.SetStop(false);
m_SDcardUtility.SetTextureAndPrintOut();
m_SDcardUtility.SendPhoto();
return;
}
}
Let us focus on m_MobileUtility
first, assuming that m_SDcardUtility
leads nowhere. The former is an instance of com.hiti.printerprotocol.utility.MobileUtility
SetStop
SetStop
appears to be a factory for MobileHandler()
which is an inner class. MobileHandler()
actually lacks an implementation of SetStop()
. However, it extends com.hiti.printerprotocol.MSGHandler
.
public void SetStop(boolean flag)
{
if (m_MobileHandler == null)
{
m_MobileHandler = new MobileHandler();
}
if (flag)
{
m_MobileHandler.SetStop(true);
return;
} else
{
m_MobileHandler.SetStop(false);
return;
}
}
It turns out that this function is inconsequential. as it simply records a flag:
public void SetStop(boolean flag)
{
m_boStop = flag;
}
SetTextureAndPrintOut();
This function appears to contain a switch statement that sets the media size choosing between three options (possible 4x6, 5x7, 6x8?). Here is the portend of that switch:
m_strChooseMediaSize = m_Context.getString(PRINTOUT_1);
MAX_WIDTH = 1844F;
MAX_HEIGHT = 1240F;
m_iPaperSize = 2;
goto _L8
_L3:
m_strChooseMediaSize = m_Context.getString(PRINTOUT_2);
MAX_WIDTH = 2140F;
MAX_HEIGHT = 1544F;
m_iPaperSize = 3;
goto _L8
_L4:
m_strChooseMediaSize = m_Context.getString(PRINTOUT_3);
MAX_WIDTH = 2434F;
MAX_HEIGHT = 1844F;
m_iPaperSize = 4;
It looks like the pixels of the media sizes are being set. Otherwise, this functions is a dead end.
SendPhoto()
This function is simple enough:
public void SendPhoto()
{
if (HavePrintingPhotoListener())
{
m_OnMobileListener.StartCheckPrintInfo();
}
m_HitiPPR_GetPrinterInfo = new HitiPPR_GetPrinterInfo(m_Context, m_MobileHandler);
m_HitiPPR_GetPrinterInfo.start();
}
From our reversed code, it looks like StartCheckPrintInfo();
is empty. Perhaps it is intended to be implemented at a later time?
Our trail seems to lead to HitiPPR_GetPrinterInfo
.
