Advertisement
Guest User

Untitled

a guest
Jun 20th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.30 KB | None | 0 0
  1. package com.example.spirit.projectautomate;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.content.pm.ResolveInfo;
  6. import android.net.Uri;
  7. import android.os.Bundle;
  8. import android.os.Environment;
  9. import android.os.Parcelable;
  10. import android.view.View;
  11. import android.view.View.OnClickListener;
  12. import android.view.Window;
  13. import android.view.WindowManager;
  14. import android.widget.ImageButton;
  15. import android.widget.TextView;
  16.  
  17. import java.io.File;
  18. import java.io.IOException;
  19. import java.text.SimpleDateFormat;
  20. import java.util.ArrayList;
  21. import java.util.Calendar;
  22. import java.util.List;
  23. import java.util.Stack;
  24.  
  25. /**
  26. * Created by Spirit on 5/08/2015.
  27. */
  28. public class DashBoard extends Activity implements OnClickListener
  29. {
  30.  
  31. ArrayList<String> setDaysTemp;
  32. String workSSIDTemp;
  33. ArrayList<String> setPreferencesTemp;
  34. String setTimeSheetTemp;
  35.  
  36. ImageButton EditSettings;
  37. ImageButton exportFile;
  38. TextView days;
  39. TextView wifi;
  40. TextView preference;
  41. TextView timeSheet;
  42.  
  43. String Time;
  44. String Hours;
  45. String Minutes;
  46. String Seconds ;
  47.  
  48. String Date;
  49. String Day;
  50. String Month;
  51. String Year;
  52.  
  53.  
  54. @Override
  55. protected void onCreate(Bundle savedInstanceState)
  56. {
  57. super.onCreate(savedInstanceState);
  58. makeFullScreen();
  59.  
  60. setContentView(R.layout.dashboard);
  61. initialize();
  62. displayOnScreen();
  63. ShowTimeAndDate();
  64. trackUserActivities();
  65.  
  66. }
  67.  
  68.  
  69.  
  70. @Override
  71. public void onClick(View view)
  72. {
  73. switch (view.getId())
  74. {
  75. case (R.id.imgbAdvSettings):
  76. {
  77. Intent advancedSettingsIntent = new Intent("android.intent.action.ADVANCEDSETTINGS");
  78. startActivity(advancedSettingsIntent);
  79. break;
  80. }
  81. case(R.id.imgbExport):
  82. {
  83. sendEmailToUser();
  84. break;
  85. }
  86.  
  87. }
  88. }
  89.  
  90. private void trackUserActivities()
  91. {
  92. //Daily
  93. trackDailyWorkHours();
  94. trackWeeklyWorkHours();
  95. trackMonthlyWorkHouse();
  96. }
  97.  
  98. // ==========================================================================================================================
  99.  
  100.  
  101. private void trackDailyWorkHours()
  102. {
  103. String fileNameDaily = "DailyReport.txt";
  104. String content = Date + " " + "StartTime: " + Time + " " + "End Time: " + Time + " " + "Shift Duration: " + Hours;
  105. FileOperations fopDaily = new FileOperations();
  106. try
  107. {
  108. fopDaily.write(fileNameDaily, content);
  109. }
  110. catch (IOException e)
  111. {
  112. e.printStackTrace();
  113. System.out.println("WRITING FAILED =(");
  114. }
  115. }
  116.  
  117.  
  118. private void trackWeeklyWorkHours()
  119. {
  120. String fileNameWeekly = "WeeklyReport.txt";
  121. String content = Date + " " + "StartTime: " + Time + " " + "End Time: " + Time + " " + "Shift Duration: " + Hours;
  122. FileOperations fopWeekly = new FileOperations();
  123. try
  124. {
  125. fopWeekly.write(fileNameWeekly, content);
  126. }
  127. catch (IOException e)
  128. {
  129. e.printStackTrace();
  130. System.out.println("WRITING FAILED =(");
  131. }
  132. }
  133.  
  134. private void trackMonthlyWorkHouse()
  135. {
  136. String fileNameMonthly= "MonthlyReport.txt";
  137. String content = Date + " " + "StartTime: " + Time + " " + "End Time: " + Time + " " + "Shift Duration: " + Hours + " ";
  138. FileOperations fopMonthly = new FileOperations();
  139. try
  140. {
  141. fopMonthly.write(fileNameMonthly, content);
  142. }
  143. catch (IOException e)
  144. {
  145. e.printStackTrace();
  146. System.out.println("WRITING FAILED =(");
  147. }
  148. }
  149.  
  150.  
  151.  
  152. private void sendEmailToUser()
  153. {
  154. for(String temp:setPreferencesTemp)
  155. {
  156. System.out.println(temp);
  157. }
  158. File fpath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
  159. File file = new File(fpath, "MonthlyReport.txt");
  160. String fileLocation = file.toString();
  161. System.out.println("Sending File Path: " + fileLocation);
  162.  
  163. Intent emailIntent = new Intent(Intent.ACTION_SEND);
  164. String to[] = {"tim.m87@hotmail.com"};
  165.  
  166. emailIntent.putExtra(Intent.EXTRA_EMAIL, to);
  167. emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Test single attachment");
  168. emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
  169. emailIntent.putExtra(Intent.EXTRA_TEXT, "TimeSheet");
  170. emailIntent.setType("message/rfc822");
  171. //startActivity(Intent.createChooser(emailIntent, "Send via Email"));
  172. startActivity(createEmailOnlyChooserIntent(emailIntent, "tim.m87@hotmail.com"));
  173. System.out.println("SENT EMAIL SUCCESS !");
  174.  
  175. }
  176.  
  177.  
  178.  
  179. // ========================================================================================================
  180.  
  181.  
  182. private void displayOnScreen()
  183. {
  184.  
  185. displayDays();
  186. displayWifi();
  187. displayPreference();
  188. displayTimeSheet();
  189.  
  190. }
  191.  
  192.  
  193. private void displayDays()
  194. {
  195. String onScreenSetDays = "";
  196. for (String temp : setDaysTemp)
  197. {
  198. onScreenSetDays += temp;
  199. }
  200. days.setText(onScreenSetDays);
  201. }
  202.  
  203. private void displayWifi()
  204. {
  205. String onScreenSetWifi = workSSIDTemp;
  206. wifi.setText(onScreenSetWifi);
  207. }
  208.  
  209. private void displayPreference()
  210. {
  211. String onScreenSetPreference = "";
  212. for (String temp : setPreferencesTemp)
  213. {
  214. onScreenSetPreference += temp;
  215. }
  216. preference.setText(onScreenSetPreference);
  217. }
  218.  
  219. private void displayTimeSheet()
  220. {
  221. timeSheet.setText(setTimeSheetTemp);
  222. }
  223.  
  224.  
  225. private void initialize()
  226. {
  227. System.out.println("|||||||||||||||||||||||||||||||||||||||||| Dashboard ||||||||||||||||||||||||||||||||||||||||||||||||||||");
  228.  
  229. EditSettings = (ImageButton) findViewById(R.id.imgbAdvSettings);
  230. exportFile = (ImageButton) findViewById(R.id.imgbExport);
  231. days = (TextView) findViewById(R.id.tDaysDashboard);
  232. wifi = (TextView) findViewById(R.id.tWifiDashboard);
  233. preference = (TextView) findViewById(R.id.tFrequencyDashboard);
  234. timeSheet = (TextView) findViewById(R.id.tTimeSheetDashboard);
  235.  
  236.  
  237. EditSettings.setOnClickListener(this);
  238. exportFile.setOnClickListener(this);
  239.  
  240. //======================================================================
  241.  
  242. setDaysTemp = (ArrayList<String>) this.getIntent().getSerializableExtra("arlSetDays");
  243. workSSIDTemp = (String) this.getIntent().getSerializableExtra("strWorkSSID");
  244. setPreferencesTemp = (ArrayList<String>) this.getIntent().getSerializableExtra("arlSetPreferences");
  245. setTimeSheetTemp = (String) this.getIntent().getSerializableExtra("strSetTimeSheet");
  246.  
  247.  
  248. }
  249.  
  250. private void ShowTimeAndDate()
  251. {
  252.  
  253. Calendar c = Calendar.getInstance();
  254. SimpleDateFormat date = new SimpleDateFormat("dd/MMMM/yyyy");
  255. SimpleDateFormat day = new SimpleDateFormat("dd");
  256. SimpleDateFormat month = new SimpleDateFormat("MMMM");
  257. SimpleDateFormat year = new SimpleDateFormat("yyyy");
  258.  
  259. SimpleDateFormat time = new SimpleDateFormat("HH:mm:ssa");
  260. SimpleDateFormat hours = new SimpleDateFormat("HH");
  261. SimpleDateFormat minutes = new SimpleDateFormat("mm");
  262. SimpleDateFormat seconds = new SimpleDateFormat("ss");
  263.  
  264. Date = date.format(c.getTime());
  265. Day = day.format(c.getTime());
  266. Month = month.format(c.getTime());
  267. Year = year.format(c.getTime());
  268.  
  269. Time = time.format(c.getTime());
  270. Hours = hours.format(c.getTime());
  271. Minutes = minutes.format(c.getTime());
  272. Seconds = seconds.format(c.getTime());
  273.  
  274.  
  275. System.out.println("Current Date: " + Date );
  276. System.out.println("Current Day: " + Day );
  277. System.out.println("Current Month: " + Month );
  278. System.out.println("Current Year : " + Year );
  279.  
  280. System.out.println("Current Time: " + Time );
  281. System.out.println("Current Hours: " + Hours );
  282. System.out.println("Current Minutes: " + Minutes );
  283. System.out.println("Current Seconds: " + Seconds );
  284. }
  285.  
  286. private void makeFullScreen()
  287. {
  288. requestWindowFeature(Window.FEATURE_NO_TITLE);
  289. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
  290. }
  291.  
  292. public Intent createEmailOnlyChooserIntent(Intent source, CharSequence chooserTitle)
  293. {
  294. Stack<Intent> intents = new Stack<Intent>();
  295. Intent i = new Intent(Intent.ACTION_SEND, Uri.fromParts("mailto", "info@domain.com", null));
  296. List<ResolveInfo> activities = getPackageManager().queryIntentActivities(i, 0);
  297.  
  298. for(ResolveInfo ri : activities)
  299. {
  300. Intent target = new Intent(source);
  301. target.setPackage(ri.activityInfo.packageName);
  302. intents.add(target);
  303. }
  304.  
  305. if(!intents.isEmpty())
  306. {
  307. Intent chooserIntent = Intent.createChooser(intents.remove(0),chooserTitle);
  308. chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,intents.toArray(new Parcelable[intents.size()]));
  309.  
  310. return chooserIntent;
  311. }
  312. else
  313. {
  314. return Intent.createChooser(source, chooserTitle);
  315. }
  316. }
  317.  
  318.  
  319. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement