Android Open Source - SmartTools Main Frame






From Project

Back to project page SmartTools.

License

The source code is released under:

GNU General Public License

If you think the Android project SmartTools listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.nj.simba.app;
/*w  w w .j a  v  a  2  s .  co m*/
import java.awt.CardLayout;
import java.awt.Color;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import com.android.ddmlib.IDevice;
import com.nj.simba.ctrls.MyProgessBar;
import com.nj.simba.page.appmgr.PageAppMgr;
import com.nj.simba.page.device.DevicePanel;
import com.nj.simba.page.device.PageMyDevice;
import com.nj.simba.page.filer.PageFiler;
import com.nj.simba.page.logcat.PageLogcat;
import com.nj.simba.utils.Config;
import com.nj.simba.utils.I2CTest;
import com.nj.simba.utils.Utils;

///TODO SwingWork
@SuppressWarnings("serial")
public class MainFrame extends JFrame {

  /**
   * Tab Panel PANEL_AUTOTEST: CTS, GTS, Verifier, and another tests
   * PANEL_APPMGR: list packages of device, view information, remove, etc.
   * PANEL_FILER: file explore of device PANEL_LOGCAT: get log of device
   */
  public static final int PANEL_MYDEVICE = 0;
  public static final int PANEL_APPMGR = 1;
  public static final int PANEL_FILER = 2;
  public static final int PANEL_LOGCAT = 3;

  /**
   * The main container of all panel 1) tool bar 2) left device panel 3) main
   * panel with right panel( detail panel)
   */
  private JPanel mRootPanel = null;
  private int mPanelWidth = 0;
  private int mPanelHeight = 0;

  /**
   * main panel as container of tab pages
   */
  private JPanel mTabPanel;
  private CardLayout mCardLayout;
  
  private PageMyDevice mMyDevicePanel;
  private PageLogcat mLogcatPanel;
  private PageAppMgr mAppMgrPanel;
  private DevicePanel mDevicePanel;
  private PageFiler mFilerPanel;
  
  private int mWhichTab = PANEL_MYDEVICE;
    private IDevice mCurDevice = null;
  private JPanel mLeftPanel;
    private MyProgessBar mProgressBar;
    private I2CTest mI2CTest;

  void initFrame() {
    mRootPanel = (JPanel) getContentPane();

    /** set background transparent, get rid of white panel **/
    mRootPanel.setOpaque(false);
    mRootPanel.setLayout(null);

    /** set background image as theme **/
    ImageIcon themeImg = Utils.getResImage(Config.background);
    JLabel background = new JLabel(themeImg);

    mPanelWidth = Config.WIN_WIDTH;
    mPanelHeight = Config.WIN_HEIGHT;
    background.setBounds(0, 0, mPanelWidth, mPanelHeight);
    getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));

    /** adjust size according to background image **/
    setSize(mPanelWidth, mPanelHeight);
    setResizable(false);
  }

  void addPanel() {
    /** create tool bar **/
    createToolbarPanel();
    
    /** create main panel, as tab panel **/
    createPages();
    
    /** global prorgressbar **/
    newProgressBar();
  }

  void createPages() {
    mTabPanel = new JPanel();

    mCardLayout = new CardLayout();
    mTabPanel.setLayout(mCardLayout);
    mTabPanel.setOpaque(false);
    
    mTabPanel.setBounds(0, Config.OFFSET_TOP, Config.WIN_WIDTH, Config.WIN_PANEL_H);
    
    mRootPanel.add(mTabPanel);

    mMyDevicePanel = new PageMyDevice(mTabPanel);
    mMyDevicePanel.createPage();

    mAppMgrPanel = new PageAppMgr(mTabPanel);
    mAppMgrPanel.createPage();
    
    mLogcatPanel = new PageLogcat(mTabPanel);
    mLogcatPanel.createPage();
    
    mFilerPanel = new PageFiler(mTabPanel);
    mFilerPanel.createPage();
    
    loadPlugins();
  }

  private void loadPlugins() {
        File pluginsDir = new File("./plugins");
        if ( pluginsDir.exists() ) {
            System.out.println("---**** find plugins! ***-----\n");
        } else {
            System.out.println("---**** no plugins directory! ***-----\n");
            return;
        }
        
        File pluginsConfig = new File("./plugins/plugins.xml");
        if ( pluginsConfig.exists() ) {
            System.out.println("---**** find plugins config ! ***-----\n");
        } else {
            System.out.println("---**** no plugins xml! ***-----\n");
            return;
        }
        
        mI2CTest = new I2CTest(mTabPanel);
        mI2CTest.createPage();
        
    }

    void createToolbarPanel() {
    ToolbarPanel toolbar = new ToolbarPanel(mRootPanel);
    toolbar.createPanel();
  }

  public void showPanel(int which) {
    String key = null;
    
    mWhichTab = which;
    
    switch (which) {
    case PANEL_MYDEVICE:
      key = "my-device";
      break;
    case PANEL_APPMGR:
      key = "app-mgr";
      break;
    case PANEL_FILER:
      key = "filer";
      break;
    case PANEL_LOGCAT:
      key = "logcat";
      break;
    default:
      key = "my-device";
      break;
    }

    mCardLayout.show(mTabPanel, key);
  }

  public void updateDeviceList() {
      SmartToolsApp app = SmartToolsApp.getApp();
        mMyDevicePanel.deviceListChanged(app);
    }

    public void onStart(SmartToolsApp app) {
        setLocationRelativeTo(null);
        showPanel(MainFrame.PANEL_MYDEVICE);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        addWindowListener(app);
    }

    public void deviceConnected() {
        SmartToolsApp app = SmartToolsApp.getApp();
        mMyDevicePanel.deviceConnected(app);
        mAppMgrPanel.deviceConnected(app);
        mFilerPanel.deviceConnected(app);
        mLogcatPanel.deviceConnected(app);
    }
    
    public void deviceDisconnected() {
        SmartToolsApp app = SmartToolsApp.getApp();
        mMyDevicePanel.deviceDisconnected(app);
        mAppMgrPanel.deviceDisconnected(app);
        mFilerPanel.deviceDisconnected(app);
        mLogcatPanel.deviceDisconnected(app);
    }
    
    public void deviceChanged(int changeMask) {
        // TODO Auto-generated method stub        
    }

    public void onAppExit() {
        mMyDevicePanel.onAppExit();
        mAppMgrPanel.onAppExit();
        mFilerPanel.onAppExit();
        mLogcatPanel.onAppExit();
    }

    public MyProgessBar newProgressBar() {
        mProgressBar = new MyProgessBar();
        mProgressBar.setOpaque(false);
        mProgressBar.setForeground(Color.GREEN);
        mProgressBar.setBounds(6, 90, Config.WIN_WIDTH-16, 8);
        mProgressBar.setValue(80);
        mProgressBar.setVisible(false);
        mRootPanel.add(mProgressBar);
        return null;
    }
    
    public MyProgessBar getProgressBar() {
        mProgressBar.setValue(0);
        mProgressBar.setVisible(true);
        return mProgressBar;
    }
}




Java Source Code List

com.nj.simba.BatteryReceiver.java
com.nj.simba.DaemonController.java
com.nj.simba.DeviceInfo.java
com.nj.simba.DviceInfoCollector.java
com.nj.simba.IDeviceInfo.java
com.nj.simba.PackageReceiver.java
com.nj.simba.SdcardStatuChangeReceiver.java
com.nj.simba.SmartToolService.java
com.nj.simba.app.MainFrame.java
com.nj.simba.app.SmartToolsApp.java
com.nj.simba.app.ToolbarPanel.java
com.nj.simba.base.IDeviceListener.java
com.nj.simba.base.IDeviceReqListener.java
com.nj.simba.connect.DeviceCmdWorker.java
com.nj.simba.connect.DeviceConnectWorker.java
com.nj.simba.connect.DeviceMessage.java
com.nj.simba.connect.DeviceMsgChannel.java
com.nj.simba.ctrls.FilerListRender.java
com.nj.simba.ctrls.ImageBtn.java
com.nj.simba.ctrls.LeftPanel.java
com.nj.simba.ctrls.MetroCoolBtn.java
com.nj.simba.ctrls.MyProgessBar.java
com.nj.simba.ctrls.SubPanel.java
com.nj.simba.ctrls.TabPanel.java
com.nj.simba.ctrls.ThemeButton.java
com.nj.simba.ctrls.ThemeLabel.java
com.nj.simba.ctrls.ToolbarBtn.java
com.nj.simba.cts.CtsResultReset.java
com.nj.simba.page.appmgr.AppTableRender.java
com.nj.simba.page.appmgr.DeviceAppTableModel.java
com.nj.simba.page.appmgr.PageAppMgr.java
com.nj.simba.page.device.DeviceListRender.java
com.nj.simba.page.device.DevicePanel.java
com.nj.simba.page.device.PageMyDevice.java
com.nj.simba.page.filer.FileTableRender.java
com.nj.simba.page.filer.PageFiler.java
com.nj.simba.page.logcat.ILogCatBufferChangeListener.java
com.nj.simba.page.logcat.LogCatMessageList.java
com.nj.simba.page.logcat.LogCatMessageParser.java
com.nj.simba.page.logcat.LogCatMessage.java
com.nj.simba.page.logcat.LogCatPidToNameMapper.java
com.nj.simba.page.logcat.LogCatReceiverFactory.java
com.nj.simba.page.logcat.LogCatReceiver.java
com.nj.simba.page.logcat.PageLogcat.java
com.nj.simba.utils.Config.java
com.nj.simba.utils.FileSyncHelper.java
com.nj.simba.utils.I2CTest.java
com.nj.simba.utils.IProgressMonitor.java
com.nj.simba.utils.SyncProgressHelper.java
com.nj.simba.utils.SyncProgressMonitor.java
com.nj.simba.utils.Utils.java