mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-21 05:45:13 +00:00
#1756 Email newsletter dialog
This commit is contained in:
parent
765827819b
commit
cdeeed0e8e
5 changed files with 110 additions and 0 deletions
|
@ -13,6 +13,7 @@ import com.newsblur.database.BlurDatabaseHelper
|
|||
import com.newsblur.fragment.FolderListFragment
|
||||
import com.newsblur.fragment.LoginAsDialogFragment
|
||||
import com.newsblur.fragment.LogoutDialogFragment
|
||||
import com.newsblur.fragment.NewslettersFragment
|
||||
import com.newsblur.service.NBSyncService
|
||||
import com.newsblur.util.ListTextSize
|
||||
import com.newsblur.util.ListTextSize.Companion.fromSize
|
||||
|
@ -182,6 +183,11 @@ class MainContextMenuDelegateImpl(
|
|||
activity.startActivity(intent)
|
||||
true
|
||||
}
|
||||
R.id.menu_newsletters -> {
|
||||
val newFragment: DialogFragment = NewslettersFragment()
|
||||
newFragment.show(activity.supportFragmentManager, NewslettersFragment::class.java.name)
|
||||
true
|
||||
}
|
||||
else -> false
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package com.newsblur.fragment
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.newsblur.R
|
||||
import com.newsblur.databinding.NewsletterDialogBinding
|
||||
import com.newsblur.util.PrefsUtils
|
||||
import com.newsblur.util.setViewGone
|
||||
import com.newsblur.util.setViewVisible
|
||||
|
||||
class NewslettersFragment : DialogFragment() {
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
val view = layoutInflater.inflate(R.layout.newsletter_dialog, null)
|
||||
val binding: NewsletterDialogBinding = NewsletterDialogBinding.bind(view)
|
||||
val emailAddress = generateEmail()
|
||||
|
||||
binding.txtEmail.text = emailAddress
|
||||
binding.btnSetup.setOnClickListener {
|
||||
binding.btnSetup.setViewGone()
|
||||
binding.txtSetup.setViewVisible()
|
||||
}
|
||||
|
||||
return AlertDialog.Builder(requireContext()).apply {
|
||||
setView(binding.root)
|
||||
setPositiveButton(android.R.string.ok, null)
|
||||
setNegativeButton(R.string.copy_email) { _, _ ->
|
||||
copyToClipboard(emailAddress)
|
||||
}
|
||||
}.create()
|
||||
}
|
||||
|
||||
private fun generateEmail(): String {
|
||||
val userDetails = PrefsUtils.getUserDetails(requireContext())
|
||||
return "${userDetails.username}-12345678@newsletters.newsblur.com"
|
||||
}
|
||||
|
||||
private fun copyToClipboard(message: String) {
|
||||
val clipboardManager = requireContext().getSystemService(ClipboardManager::class.java)
|
||||
val clipData = ClipData.newPlainText("NewsBlur email forwarding", message)
|
||||
clipboardManager.setPrimaryClip(clipData)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:animateLayoutChanges="true"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="25dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="?defaultText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/forwarding_email_address"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_email"
|
||||
style="?defaultText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/btn_setup"
|
||||
style="?defaultText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:paddingVertical="6dp"
|
||||
android:text="@string/setup_instructions"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/txt_setup"
|
||||
style="?defaultText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/setup_instructions_details"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
|
@ -27,6 +27,11 @@
|
|||
android:title="@string/menu_notifications"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item android:id="@+id/menu_newsletters"
|
||||
android:title="@string/menu_newsletters"
|
||||
app:showAsAction="never"
|
||||
android:visible="false" />
|
||||
|
||||
<item android:id="@+id/menu_text_size"
|
||||
android:title="@string/menu_text_size" >
|
||||
<menu>
|
||||
|
|
|
@ -269,6 +269,11 @@
|
|||
<string name="feed_opens">%d opens</string>
|
||||
<string name="feed_stories_per_month">%d stories/month</string>
|
||||
|
||||
<string name="forwarding_email_address">Forwarding email address</string>
|
||||
<string name="setup_instructions">Setup instructions \u25bc</string>
|
||||
<string name="setup_instructions_details">To read your email newsletters in NewsBlur, forward your newsletters to your custom email address shown above.\n\nIn Gmail, go to Settings > Forwarding and click on Add a forwarding address. Add your custom NewsBlur email address.\n\nGmail will walk you through confirming the email address. You\'ll want to come back to NewsBlur and look for the confirmation email under the "Newsletters" folder.\n\nNext, create a filter with all of your newsletters so that they forward to the custom address on NewsBlur.</string>
|
||||
<string name="copy_email">Copy email</string>
|
||||
|
||||
<string name="import_export">Import/Export…</string>
|
||||
<string name="settings">Preferences…</string>
|
||||
<string name="menu_mute_sites">Mute Sites…</string>
|
||||
|
@ -279,6 +284,7 @@
|
|||
<string name="title_widget_setup">Tap to setup in NewsBlur</string>
|
||||
<string name="title_no_subscriptions">No active subscriptions detected</string>
|
||||
<string name="title_widget_loading">Loading…</string>
|
||||
<string name="menu_newsletters">Newsletters…</string>
|
||||
|
||||
<string name="import_export_title">Import/Export OPML</string>
|
||||
<string name="notifications_title">Notifications</string>
|
||||
|
|
Loading…
Add table
Reference in a new issue