@Override
 protected void onPostExecute(Payload p) {
   synchronized (this) {
     if (mUpgradeListener != null) {
       mUpgradeListener.upgradeComplete(p);
     }
   }
 }
 @Override
 protected void onProgressUpdate(String... obj) {
   synchronized (this) {
     if (mUpgradeListener != null) {
       // update progress and total
       mUpgradeListener.upgradeProgressUpdate(obj[0]);
     }
   }
 }