Android Open Source - SmartTools Sync Progress Helper






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.utils;
/*  ww  w  . ja  v  a 2  s  .co  m*/
import java.io.IOException;

import com.android.ddmlib.SyncException;
import com.android.ddmlib.SyncService.ISyncProgressMonitor;
import com.android.ddmlib.TimeoutException;
import com.nj.simba.app.MainFrame;
import com.nj.simba.app.SmartToolsApp;
import com.nj.simba.ctrls.MyProgessBar;

public class SyncProgressHelper {
    /**
     * a runnable class run with an {@link ISyncProgressMonitor}.
     */
    public interface SyncRunnable {
        /** Runs the sync action */
        void run(ISyncProgressMonitor monitor) throws SyncException, IOException, TimeoutException;
        /** close the {@link SyncService} */
        void close();
    }
    
    /**
     * Runs a {@link SyncRunnable} in a {@link ProgressMonitorDialog}.
     * @param runnable The {@link SyncRunnable} to run.
     * @param progressMessage the message to display in the progress dialog
     * @param parentShell the parent shell for the progress dialog.
     *
     * @throws InvocationTargetException
     * @throws InterruptedException
     * @throws SyncException if an error happens during the push of the package on the device.
     * @throws IOException
     * @throws TimeoutException
     */
    public static void run(final SyncRunnable runnable, final String progressMessage )
            throws InterruptedException, SyncException, IOException,
            TimeoutException {
        
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                final Exception[] result = new Exception[1];
                MainFrame frm = SmartToolsApp.getApp().getMainFrm();
                MyProgessBar bar = frm.getProgressBar();
                
                try {
                    System.out.println("SyncProgressHelper: run");
                    runnable.run(new SyncProgressMonitor(bar, progressMessage));
                } catch (Exception e) {
                    result[0] = e;
                } finally {
                    runnable.close();
                }
            }
        }).start();
        
    }
}




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