39
39
import com .tenmiles .helpstack .activities .HSActivityManager ;
40
40
import com .tenmiles .helpstack .fragments .HSFragmentParent ;
41
41
import com .tenmiles .helpstack .model .HSAttachment ;
42
- import com .tenmiles .helpstack .model .HSTicketDraft ;
42
+ import com .tenmiles .helpstack .model .HSDraft ;
43
43
import com .tenmiles .helpstack .model .HSCachedTicket ;
44
44
import com .tenmiles .helpstack .model .HSCachedUser ;
45
45
import com .tenmiles .helpstack .model .HSKBItem ;
46
46
import com .tenmiles .helpstack .model .HSTicket ;
47
47
import com .tenmiles .helpstack .model .HSTicketUpdate ;
48
48
import com .tenmiles .helpstack .model .HSUploadAttachment ;
49
49
import com .tenmiles .helpstack .model .HSUser ;
50
- import com .tenmiles .helpstack .model .HSUserDraft ;
51
50
52
51
import org .xmlpull .v1 .XmlPullParserException ;
53
52
@@ -67,8 +66,7 @@ public class HSSource {
67
66
private static final String HELPSTACK_DIRECTORY = "helpstack" ;
68
67
private static final String HELPSTACK_TICKETS_FILE_NAME = "tickets" ;
69
68
private static final String HELPSTACK_TICKETS_USER_DATA = "user_credential" ;
70
- private static final String HELPSTACK_TICKET_DRAFT = "ticket_draft" ;
71
- private static final String HELPSTACK_USER_DRAFT = "user_draft" ;
69
+ private static final String HELPSTACK_DRAFT = "draft" ;
72
70
73
71
private HSGear gear ;
74
72
private Context mContext ;
@@ -77,9 +75,7 @@ public class HSSource {
77
75
private HSCachedTicket cachedTicket ;
78
76
private HSCachedUser cachedUser ;
79
77
80
- private HSTicketDraft ticketDraft ;
81
- private HSUserDraft userDraft ;
82
- private HSUser draftUser ;
78
+ private HSDraft draftObject ;
83
79
84
80
public HSSource (Context context ) {
85
81
this .mContext = context ;
@@ -89,13 +85,10 @@ public HSSource(Context context) {
89
85
cachedTicket = new HSCachedTicket ();
90
86
cachedUser = new HSCachedUser ();
91
87
92
- draftUser = new HSUser ();
93
-
94
88
// read the ticket data from cache and maintain here
95
89
doReadTicketsFromCache ();
96
90
doReadUserFromCache ();
97
- doReadTicketDraftFromCache ();
98
- doReadUserDraftFromCache ();
91
+ doReadDraftFromCache ();
99
92
}
100
93
101
94
public void requestKBArticle (String cancelTag , HSKBItem section , OnFetchedArraySuccessListener success , ErrorListener errorListener ) {
@@ -215,29 +208,43 @@ public HSUser getUser() {
215
208
}
216
209
217
210
public String getDraftSubject () {
218
- if (ticketDraft != null ) {
219
- return ticketDraft .getSubject ();
211
+ if (draftObject != null ) {
212
+ return draftObject .getSubject ();
220
213
}
221
214
return null ;
222
215
}
223
216
224
217
public String getDraftMessage () {
225
- if (ticketDraft != null ) {
226
- return ticketDraft .getMessage ();
218
+ if (draftObject != null ) {
219
+ return draftObject .getMessage ();
220
+ }
221
+ return null ;
222
+ }
223
+
224
+ public HSUser getDraftUser () {
225
+ if (draftObject != null ) {
226
+ return draftObject .getDraftUser ();
227
227
}
228
228
return null ;
229
229
}
230
230
231
231
public HSAttachment [] getDraftAttachments () {
232
- if (ticketDraft != null ) {
233
- return ticketDraft .getAttachments ();
232
+ if (draftObject != null ) {
233
+ return draftObject .getAttachments ();
234
234
}
235
235
return null ;
236
236
}
237
237
238
- public HSUser getDraftUser () {
239
- if (userDraft != null ) {
240
- return userDraft .getUser ();
238
+ public String getDraftReplyMessage () {
239
+ if (draftObject != null ) {
240
+ return draftObject .getDraftReplyMessage ();
241
+ }
242
+ return null ;
243
+ }
244
+
245
+ public HSAttachment [] getDraftReplyAttachments () {
246
+ if (draftObject != null ) {
247
+ return draftObject .getDraftReplyAttachments ();
241
248
}
242
249
return null ;
243
250
}
@@ -250,6 +257,10 @@ public void saveUserDetailsInDraft(HSUser user) {
250
257
doSaveUserDraftForGearInCache (user );
251
258
}
252
259
260
+ public void saveReplyDetailsInDraft (String message , HSAttachment [] attachmentsArray ) {
261
+ doSaveReplyDraftForGearInCache (message , attachmentsArray );
262
+ }
263
+
253
264
public boolean haveImplementedTicketFetching () {
254
265
return gear .haveImplementedTicketFetching ();
255
266
}
@@ -432,49 +443,51 @@ protected void doReadUserFromCache() {
432
443
}
433
444
}
434
445
435
- protected void doReadTicketDraftFromCache () {
436
- File draftFile = new File (getProjectDirectory (), HELPSTACK_TICKET_DRAFT );
446
+ protected void doReadDraftFromCache () {
447
+ File draftFile = new File (getProjectDirectory (), HELPSTACK_DRAFT );
437
448
438
449
String json = readJsonFromFile (draftFile );
439
450
440
451
if (json != null ) {
441
452
Gson gson = new Gson ();
442
- ticketDraft = gson .fromJson (json , HSTicketDraft .class );
453
+ draftObject = gson .fromJson (json , HSDraft .class );
443
454
}
444
455
}
445
456
446
- protected void doReadUserDraftFromCache () {
447
- File draftFile = new File (getProjectDirectory (), HELPSTACK_USER_DRAFT );
457
+ protected void doSaveTicketDraftForGearInCache (String subject , String message , HSAttachment [] attachmentsArray ) {
458
+ if (draftObject == null ) {
459
+ draftObject = new HSDraft ();
460
+ }
448
461
449
- String json = readJsonFromFile (draftFile );
462
+ draftObject .setDraftSubject (subject );
463
+ draftObject .setDraftMessage (message );
464
+ draftObject .setDraftAttachments (attachmentsArray );
450
465
451
- if (json != null ) {
452
- Gson gson = new Gson ();
453
- userDraft = gson .fromJson (json , HSUserDraft .class );
454
- }
466
+ writeDraftIntoFile ();
455
467
}
456
468
457
- protected void doSaveTicketDraftForGearInCache (String subject , String message , HSAttachment [] attachmentsArray ) {
458
- Gson gson = new Gson ();
469
+ protected void doSaveUserDraftForGearInCache (HSUser user ) {
470
+ draftObject .setDraftUSer (user );
471
+ writeDraftIntoFile ();
472
+ }
459
473
460
- HSTicketDraft draft = new HSTicketDraft ( subject , message , attachmentsArray );
461
- String draftJson = gson . toJson ( draft );
462
- File draftFile = new File ( getProjectDirectory (), HELPSTACK_TICKET_DRAFT );
474
+ protected void doSaveReplyDraftForGearInCache ( String message , HSAttachment [] attachmentsArray ) {
475
+ draftObject . setDraftReplyMessage ( message );
476
+ draftObject . setDraftReplyAttachments ( attachmentsArray );
463
477
464
- writeJsonIntoFile ( draftFile , draftJson );
478
+ writeDraftIntoFile ( );
465
479
}
466
480
467
- protected void doSaveUserDraftForGearInCache (HSUser user ) {
468
- Gson gson = new Gson ();
469
481
470
- HSUserDraft draft = new HSUserDraft (user );
471
- String draftJson = gson .toJson (draft );
472
- File draftFile = new File (getProjectDirectory (), HELPSTACK_USER_DRAFT );
482
+ private void writeDraftIntoFile () {
483
+ Gson gson = new Gson ();
484
+ String draftJson = gson .toJson (draftObject );
485
+ File draftFile = new File (getProjectDirectory (), HELPSTACK_DRAFT );
473
486
474
487
writeJsonIntoFile (draftFile , draftJson );
475
488
}
476
-
477
- protected File getProjectDirectory () {
489
+
490
+ protected File getProjectDirectory () {
478
491
479
492
File projDir = new File (mContext .getFilesDir (), HELPSTACK_DIRECTORY );
480
493
if (!projDir .exists ())
@@ -487,6 +500,10 @@ public void clearTicketDraft() {
487
500
saveTicketDetailsInDraft ("" , "" , null );
488
501
}
489
502
503
+ public void clearReplyDraft () {
504
+ saveReplyDetailsInDraft ("" , null );
505
+ }
506
+
490
507
private class NewTicketSuccessWrapper implements OnNewTicketFetchedSuccessListener
491
508
{
492
509
0 commit comments