Advertisement
Kvarz

stop driver event

Apr 27th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.27 KB | None | 0 0
  1. package com.mlc.logi.transportation;
  2.  
  3. import java.util.Calendar;
  4. import java.util.Timer;
  5. import java.util.TimerTask;
  6.  
  7. import android.content.res.Configuration;
  8. import android.os.Bundle;
  9. import android.support.v4.app.Fragment;
  10. import android.support.v4.app.FragmentTransaction;
  11. import android.view.LayoutInflater;
  12. import android.view.Menu;
  13. import android.view.MenuInflater;
  14. import android.view.View;
  15. import android.view.View.OnClickListener;
  16. import android.view.ViewGroup;
  17. import android.widget.Button;
  18. import android.widget.EditText;
  19. import android.widget.LinearLayout;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23. import com.mlc.logi.transportation.preferences.AppPreference;
  24. import com.mlc.logi.transportation.ui.activity.NavigationDrawerActivity;
  25.  
  26. public class SOSFragment extends Fragment implements OnClickListener {
  27.  
  28.     public final static int SOS_USUAL = 0;
  29.     public final static int SOS_NUMBER_REQUEST = 1;
  30.  
  31.     private int sosBehaviour;
  32.  
  33.     private View view;
  34.  
  35.     private TextView buttonHelp;
  36.     private TextView buttonCall;
  37.  
  38.     private PopupMaker popupMaker;
  39.  
  40.     private EditText driverTelephone;
  41.    
  42.     private long stopTimeFixed;
  43.    
  44.     private Timer stopTimer;
  45.    
  46.     private static int STOP_TIMER = 15000;
  47.    
  48.     private static final String STOP_FLAG = "NO_CANCEL";
  49.  
  50.     public SOSFragment() {
  51.         // empty constructor needed
  52.     }
  53.  
  54.     /*
  55.      * public SOSFragment(int sosBehaviour) { this.sosBehaviour = sosBehaviour;
  56.      * }
  57.      */
  58.     @Override
  59.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  60.         view = inflater.inflate(R.layout.fragment_sos, container, false);
  61.  
  62.         Button buttonCancel = (Button) view.findViewById(R.id.callToDispatcher);
  63.         buttonCancel.setOnClickListener(this);
  64.  
  65.         Button techHelpMessage = (Button) view.findViewById(R.id.techHelpMessage);
  66.         techHelpMessage.setOnClickListener(this);
  67.  
  68.         view.findViewById(R.id.sosRefuse).setOnClickListener(this);
  69.        
  70.         //stopTimeFixed = Calendar.getInstance().getTimeInMillis();
  71.         Logger.debug(getClass(), "onCreateView() - setStopTimeFixed" + stopTimeFixed);
  72.        
  73.         //testing
  74.         stopTimeFixed = AppPreference.getInstance().getStopTimeFixed();
  75.         Logger.debug(getClass(), "onCreateView - stopTimeFixed" + stopTimeFixed);
  76.         if(stopTimeFixed == 0 || Calendar.getInstance().getTimeInMillis() - stopTimeFixed < STOP_TIMER){
  77.             stopTimeFixed = Calendar.getInstance().getTimeInMillis();
  78.             AppPreference.getInstance().setStopTimeFixed(stopTimeFixed);
  79.             Logger.debug(getClass(), "onCreateView - setStopTimeFixed(stopTimeFixed)" + stopTimeFixed);
  80.             Logger.debug(getClass(), "onCreateView - Calendar.getInstance().getTimeInMillis()" + Calendar.getInstance().getTimeInMillis());
  81.             Logger.debug(getClass(), "onCreateView - Calendar.getInstance().getTimeInMillis() - stopTimeFixed" + (Calendar.getInstance().getTimeInMillis() - stopTimeFixed));
  82.         } else {
  83.             Logger.debug(getClass(), "onCreateView - else no setStopTimeFixed()" + stopTimeFixed);
  84.         }
  85.        
  86.        
  87.        
  88.        
  89.        
  90.         /*
  91.          * switch (sosBehaviour) { case SOS_USUAL: buttonHelp = (TextView)
  92.          * view.findViewById(R.id.techHelp);
  93.          * buttonHelp.setVisibility(View.VISIBLE);
  94.          * buttonHelp.setOnClickListener(this);
  95.          *
  96.          * buttonCall = (TextView) view.findViewById(R.id.sosCallToDispatcher);
  97.          * buttonCall.setVisibility(View.VISIBLE);
  98.          * buttonCall.setOnClickListener(this);
  99.          *
  100.          *
  101.          * TextView callToDispatcherMessage = (TextView)
  102.          * view.findViewById(R.id.callToDispatcherMessage);
  103.          * callToDispatcherMessage
  104.          * .setText(getString(R.string.techHelpTypeNumber)); break; case
  105.          * SOS_NUMBER_REQUEST: // buttonHelp.setVisibility(View.GONE);
  106.          * //buttonCall.setVisibility(View.GONE);
  107.          *
  108.          * view.findViewById(R.id.sosCallToDispatcher).setVisibility(View.GONE);
  109.          * view.findViewById(R.id.techHelp).setVisibility(View.GONE);
  110.          *
  111.          *
  112.          * driverTelephone = (EditText)
  113.          * view.findViewById(R.id.editDriverNumber);
  114.          * driverTelephone.setVisibility(View.VISIBLE);
  115.          *
  116.          * TextView callToDispatcherMessage = (TextView)
  117.          * view.findViewById(R.id.callToDispatcherMessage);
  118.          * callToDispatcherMessage
  119.          * .setText(getString(R.string.techHelpTypeNumber));
  120.          *
  121.          * view.findViewById(R.id.techHelpMessage).setVisibility(View.GONE);
  122.          *
  123.          *
  124.          * Button sendNumberButton = (Button)
  125.          * view.findViewById(R.id.sendNumberButton);
  126.          * sendNumberButton.setVisibility(View.VISIBLE);
  127.          * sendNumberButton.setOnClickListener(this);
  128.          *
  129.          *
  130.          * break; }
  131.          */
  132.         return view;
  133.     }
  134.  
  135.     /*
  136.      * driverTelephone.setOnKeyListener(new View.OnKeyListener() { public
  137.      * boolean onKey(View v, int keyCode, KeyEvent event) { if
  138.      * (event.getAction() == KeyEvent.ACTION_DOWN && (keyCode ==
  139.      * KeyEvent.KEYCODE_ENTER)) { // сохраняем текст, введенный до нажатия Enter
  140.      * в // переменную // String strCatName = //
  141.      * driverTelephone.getText.getText().toString(); return true; } return
  142.      * false; } });
  143.      */
  144.    
  145.     public void onViewCreated(View view, Bundle savedInstanceState) {
  146.         getStopTime();
  147.     }
  148.  
  149.     @Override
  150.     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
  151.         inflater.inflate(R.menu.main, menu);
  152.         super.onCreateOptionsMenu(menu, inflater);
  153.     }
  154.    
  155.     private void getStopTime() {
  156.         Logger.debug(getClass(), "getStopTime()");
  157.         stopTimer = new Timer();
  158.         stopTimer.schedule(new TimerTask() {
  159.             @Override
  160.             public void run() {
  161.                 if (0 <= 1 && stopTimeFixed != 0) {
  162.               //      if(isAdded()){
  163.                         // 900000 = 15 mins
  164.                         //testing
  165.                         //stopTimeFixed = AppPreference.getInstance().getStopTimeFixed();
  166.                         Logger.debug(getClass(), "getStopTime() Calendar.getInstance().getTimeInMillis();" + Calendar.getInstance().getTimeInMillis());
  167.                         Logger.debug(getClass(), "getStopTime() stopTimeFixed" + stopTimeFixed);
  168.                         Logger.debug(getClass(), "Calendar.getInstance().getTimeInMillis() - stopTimeFixed > STOP_TIMER"  + ((Calendar.getInstance().getTimeInMillis() - stopTimeFixed) > STOP_TIMER));
  169.                         if (Calendar.getInstance().getTimeInMillis() - stopTimeFixed > STOP_TIMER) {
  170.                             Bundle args = new Bundle();
  171.                             args.putBoolean(STOP_FLAG, true);
  172. //                            stopFragment = new StopFragment();
  173. //                            stopFragment.setArguments(args);
  174.                            
  175.                             Logger.debug(getClass(), "if (Calendar.getInstance().getTimeInMillis() - stopTimeFixed > STOP_TIMER)");
  176.                            
  177.                         //  if (!stopFragment.isAdded()){
  178. //                               getChildFragmentManager().beginTransaction().replace(R.id.stopBox, stopFragment).commit();
  179. //                               NavigationDrawerActivity.fragmentTransactionStack.push(ActionBarBehaviour.
  180. //                                       CURRENT_TASK_STOP_FRAGMENT);
  181.                                  
  182.                             Logger.debug(getClass(), "updateActionBar runOnUiThread");
  183.                             getActivity().runOnUiThread(updateActionBar);
  184.                            
  185.                             Logger.debug(getClass(), "stopTimeFixed" + stopTimeFixed);
  186.                             stopTimeFixed = 0;
  187.                             AppPreference.getInstance().setStopTimeFixed(stopTimeFixed);
  188.                         //    stopTimeFixed = Calendar.getInstance().getTimeInMillis();
  189.                         //    AppPreference.getInstance().setStopTimeFixed(stopTimeFixed);
  190.                             Logger.debug(getClass(), "stopTimeFixed after" + stopTimeFixed);
  191.                            
  192.                             Logger.debug(getClass(), "STOP_TIMER" + STOP_TIMER);
  193.                             //}
  194.                            
  195.                         }
  196. //                    } else {
  197. //                       Logger.debug(getClass(), "else stopTimeFixed before" + stopTimeFixed);
  198. //                     stopTimeFixed = Calendar.getInstance().getTimeInMillis();
  199. //                    // AppPreference.getInstance().setStopTimeFixed(stopTimeFixed);
  200. //                     Logger.debug(getClass(), "else stopTimeFixed" + stopTimeFixed);
  201. //                    }
  202.  
  203.                 }
  204.             }
  205.         //}, 0L, 60L * 1000);
  206.             //testing:
  207.         }, 0L, 5L * 1000);
  208.        
  209.        
  210.        
  211.     }
  212.    
  213.     final Runnable updateActionBar = new Runnable() {
  214.         public void run() {
  215.             Logger.debug(getClass(), "updateActionBar");
  216.             //AppController.getInstance().getActionBarBehaviour().initialize();
  217.             Toast.makeText(getActivity(), "stop fragment", Toast.LENGTH_SHORT).show();
  218.         }
  219.     };
  220.    
  221.     @Override
  222.     public void onPause() {
  223.        
  224.         if (stopTimer != null)
  225.             stopTimer.cancel();
  226.  
  227.         super.onPause();
  228.     }
  229.  
  230.     @Override
  231.     public void onClick(View v) {
  232.         LinearLayout messageArea = (LinearLayout) view.findViewById(R.id.messageArea);
  233.         TextView messageText = (TextView) view.findViewById(R.id.messageText);
  234.         switch (v.getId()) {
  235.         case R.id.callToDispatcher:
  236.  
  237.             messageArea.setVisibility(View.VISIBLE);
  238.  
  239.             messageText.setText(getString(R.string.callToDispatcherMessage));
  240.             break;
  241.  
  242.         case R.id.techHelpMessage:
  243.             messageArea.setVisibility(View.VISIBLE);
  244.             messageText.setText(getString(R.string.techHelpSent));
  245.  
  246.             break;
  247.         case R.id.sosRefuse:
  248. //          AppController.getInstance().setOfferNotFinished(AppController.getInstance().getCurrentOrderVehicle());
  249. //          try {
  250. //              AppController.getInstance().getDaoController()
  251. //                      .updateOrderVehicle(AppController.getInstance().getCurrentOrderVehicle());
  252.                 Toast.makeText(getActivity(), "Вы отменили текущее задание", Toast.LENGTH_LONG).show();
  253. //          } catch (IOException e) {
  254. //              e.printStackTrace();
  255. //          }
  256.             break;
  257.         default:
  258.             break;
  259.         }
  260.  
  261.         /*
  262.          * switch (v.getId()) {
  263.          *
  264.          * case R.id.buttonCancel:
  265.          *
  266.          * break; case R.id.sosCallToDispatcher: //
  267.          * buttonCall.setVisibility(View.INVISIBLE);
  268.          * techHelpMessage.setText(getString(R.string.techHelpTypeNumber));
  269.          * showPopup(getString(R.string.techHelpSent),
  270.          * PopupMaker.TEXT_COLOR_GREEN); break; case R.id.techHelp: //
  271.          * buttonHelp.setVisibility(View.INVISIBLE);
  272.          * techHelpMessage.setText(getString(R.string.techHelpSent)); break;
  273.          * case R.id.sendNumberButton: //
  274.          * buttonHelp.setVisibility(View.INVISIBLE);
  275.          *
  276.          * if (driverTelephone.getText().length() > 1) {
  277.          * Toast.makeText(getActivity(), "yep", Toast.LENGTH_LONG).show(); }
  278.          *
  279.          * break;
  280.          *
  281.          * }
  282.          */
  283.     }
  284.  
  285.     private void showPopup(String message, int style) {
  286.         if (popupMaker == null) {
  287.             popupMaker = new PopupMaker(getActivity(), message, style);
  288.         } else {
  289.             popupMaker.changeParametres(message, style);
  290.         }
  291.         popupMaker.showPopup();
  292.     }
  293.  
  294.     public void setArguments(int sosBehaviour) {
  295.         this.sosBehaviour = sosBehaviour;
  296.     }
  297.    
  298.     @Override
  299.     public void onConfigurationChanged(Configuration newConfig) {
  300.         super.onConfigurationChanged(newConfig);
  301.         Logger.debug(getClass(), "onConfigurationChanged");
  302.         // Reload current fragment
  303.         Fragment frg = this;
  304.         final FragmentTransaction frgTransaction = NavigationDrawerActivity.fragmentManager.beginTransaction();
  305.         frgTransaction.detach(frg);
  306.         frgTransaction.attach(frg);
  307.         frgTransaction.commit();
  308.     }
  309.  
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement