opening MainView from notification, force opening commit raw files in browser and cancelling notification upon opening FastHub.

This commit is contained in:
Kosh 2017-02-27 01:33:41 +08:00
parent c81c2bc1ac
commit 48644d4c7f
4 changed files with 12 additions and 2 deletions

View File

@ -16,6 +16,7 @@ import com.fastaccess.data.dao.NotificationThreadModel;
import com.fastaccess.helper.BundleConstant;
import com.fastaccess.helper.Logger;
import com.fastaccess.provider.rest.RestProvider;
import com.fastaccess.ui.modules.main.MainView;
import com.firebase.jobdispatcher.Constraint;
import com.firebase.jobdispatcher.FirebaseJobDispatcher;
import com.firebase.jobdispatcher.GooglePlayDriver;
@ -80,13 +81,15 @@ public class NotificationJobTask extends JobService {
.count();
Logger.e(count, notificationThreadModels);
if (count > 0) {
Intent intent = new Intent(this, MainView.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Context context = getApplicationContext();
Notification notification = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_announcement)
.setContentTitle(context.getString(R.string.notifictions))
.setContentText(context.getString(R.string.unread_notification) + " (" + count + ")")
.setNumber((int) count)
.addAction(R.drawable.ic_github, context.getString(R.string.open), PendingIntent.getActivity(context, 0, new Intent(),
.addAction(R.drawable.ic_github, context.getString(R.string.open), PendingIntent.getActivity(context, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT))
.build();
((NotificationManager) context.getSystemService(NOTIFICATION_SERVICE)).notify(BundleConstant.REQUEST_CODE, notification);

View File

@ -1,5 +1,7 @@
package com.fastaccess.ui.modules.main;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
@ -96,6 +98,7 @@ public class MainView extends BaseActivity<MainMvp.View, MainPresenter> implemen
onHideShowFab();
hideShowShadow(navType != MainMvp.PROFILE);
enableAds.setChecked(PrefGetter.isAdsEnabled());
((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).cancel(BundleConstant.REQUEST_CODE);//cancel notification if any.
}
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {

View File

@ -19,7 +19,7 @@ class CommitFilesPresenter extends BasePresenter<CommitFilesMvp.View> implements
private CommitFileListModel files = new CommitFileListModel();
@Override public void onItemClick(int position, View v, CommitFileModel item) {
}
@Override public void onItemLongClick(int position, View v, CommitFileModel item) {

View File

@ -8,6 +8,7 @@ import android.view.View;
import com.fastaccess.R;
import com.fastaccess.data.dao.CommitFileListModel;
import com.fastaccess.data.dao.SparseBooleanArrayParcelable;
import com.fastaccess.helper.ActivityHelper;
import com.fastaccess.helper.BundleConstant;
import com.fastaccess.helper.Bundler;
import com.fastaccess.ui.adapter.CommitFilesAdapter;
@ -66,6 +67,9 @@ public class CommitFilesView extends BaseFragment<CommitFilesMvp.View, CommitFil
}
@Override public void onToggle(int position, boolean isCollapsed) {
if (adapter.getItem(position).getPatch() == null) {
ActivityHelper.forceOpenInBrowser(getContext(), adapter.getItem(position).getBlobUrl());
}
getSparseBooleanArray().put(position, isCollapsed);
adapter.notifyItemChanged(position);
}