package de.tum.in.tumcampusapp.cards; import android.app.Notification; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v4.app.NotificationCompat; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RemoteViews; import de.tum.in.tumcampusapp.R; import de.tum.in.tumcampusapp.activities.SetupEduroamActivity; import de.tum.in.tumcampusapp.cards.generic.Card; import de.tum.in.tumcampusapp.cards.generic.NotificationAwareCard; import de.tum.in.tumcampusapp.managers.CardManager; import de.tum.in.tumcampusapp.managers.EduroamManager; /** * Card that can start {@link SetupEduroamActivity} */ public class EduroamCard extends NotificationAwareCard { public EduroamCard(Context context) { super(CardManager.CARD_EDUROAM, context, "card_eduroam", false, true); } public static Card.CardViewHolder inflateViewHolder(ViewGroup parent) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_eduroam, parent, false); return new Card.CardViewHolder(view); } @Override public void updateViewHolder(RecyclerView.ViewHolder viewHolder) { // NOOP } @Override protected boolean shouldShow(SharedPreferences prefs) { return EduroamManager.getEduroamConfig(mContext) == null; } @Override protected void discard(SharedPreferences.Editor editor) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); prefs.edit().putBoolean("card_eduroam_start", false).apply(); } @Override protected Notification fillNotification(NotificationCompat.Builder notificationBuilder) { return null; } @Override public String getTitle() { return mContext.getString(R.string.setup_eduroam); } @Override public Intent getIntent() { return new Intent(mContext, SetupEduroamActivity.class); } @Override public int getId() { return 5000; } @Override public RemoteViews getRemoteViews(Context context) { final RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.cards_widget_card); remoteViews.setTextViewText(R.id.widgetCardTextView, this.getTitle()); remoteViews.setImageViewResource(R.id.widgetCardImageView, R.drawable.ic_action_network_wifi); return remoteViews; } }