Commit 81587b05 authored by Mygod's avatar Mygod

Use AlertDialogs in support lib

parent 24c1497a
...@@ -39,15 +39,15 @@ ...@@ -39,15 +39,15 @@
package com.github.shadowsocks package com.github.shadowsocks
import android.app.{Activity, AlertDialog}
import android.content.DialogInterface import android.content.DialogInterface
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.{AppCompatActivity, AlertDialog}
import android.view.WindowManager import android.view.WindowManager
import com.github.shadowsocks.utils.Parser import com.github.shadowsocks.utils.Parser
class ParserActivity extends Activity { class ParserActivity extends AppCompatActivity {
override def onCreate(savedInstanceState: Bundle) { override def onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val data = getIntent.getData.toString val data = getIntent.getData.toString
...@@ -56,30 +56,27 @@ class ParserActivity extends Activity { ...@@ -56,30 +56,27 @@ class ParserActivity extends Activity {
finish() finish()
return return
} }
showAsPopup(this) showAsPopup()
val dialog = new AlertDialog.Builder(this) val dialog = new AlertDialog.Builder(this)
.setTitle(R.string.add_profile_dialog) .setTitle(R.string.add_profile_dialog)
.setCancelable(false) .setCancelable(false)
.setPositiveButton(android.R.string.yes, ((dialog: DialogInterface, id: Int) => { .setPositiveButton(android.R.string.yes, ((dialog: DialogInterface, id: Int) => {
ShadowsocksApplication.profileManager.createProfile(profile.get) ShadowsocksApplication.profileManager.createProfile(profile.get)
dialog.dismiss()
}): DialogInterface.OnClickListener)
.setNegativeButton(android.R.string.no, ((dialog: DialogInterface, id: Int) => {
dialog.dismiss()
}): DialogInterface.OnClickListener) }): DialogInterface.OnClickListener)
.setNegativeButton(android.R.string.no, null)
.setMessage(data) .setMessage(data)
.create() .create()
dialog.setOnDismissListener((dialog: DialogInterface) => finish()) // builder method was added in API 17 dialog.setOnDismissListener((dialog: DialogInterface) => finish()) // builder method was added in API 17
dialog.show() dialog.show()
} }
def showAsPopup(activity: Activity) { def showAsPopup() {
activity.getWindow.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, val window = getWindow
WindowManager.LayoutParams.FLAG_DIM_BEHIND) window.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND)
val params = activity.getWindow.getAttributes val params = window.getAttributes
params.alpha = 1.0f params.alpha = 1.0f
params.dimAmount = 0.5f params.dimAmount = 0.5f
activity.getWindow.setAttributes(params.asInstanceOf[android.view.WindowManager.LayoutParams]) window.setAttributes(params.asInstanceOf[android.view.WindowManager.LayoutParams])
activity.getWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)) window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT))
} }
} }
package com.github.shadowsocks package com.github.shadowsocks
import android.app.AlertDialog import android.content.Intent
import android.content.{DialogInterface, Intent}
import android.os.Bundle import android.os.Bundle
import android.support.design.widget.Snackbar import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity import android.support.v7.app.{AlertDialog, AppCompatActivity}
import android.support.v7.widget.RecyclerView.ViewHolder import android.support.v7.widget.RecyclerView.ViewHolder
import android.support.v7.widget.Toolbar.OnMenuItemClickListener import android.support.v7.widget.Toolbar.OnMenuItemClickListener
import android.support.v7.widget.helper.ItemTouchHelper import android.support.v7.widget.helper.ItemTouchHelper
import android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback import android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback
import android.support.v7.widget.{DefaultItemAnimator, LinearLayoutManager, RecyclerView, Toolbar} import android.support.v7.widget.{DefaultItemAnimator, LinearLayoutManager, RecyclerView, Toolbar}
import android.text.style.TextAppearanceSpan import android.text.style.TextAppearanceSpan
import android.text.{Spanned, SpannableStringBuilder} import android.text.{SpannableStringBuilder, Spanned}
import android.view.View.{OnAttachStateChangeListener, OnClickListener} import android.view.View.{OnAttachStateChangeListener, OnClickListener}
import android.view.{LayoutInflater, MenuItem, View, ViewGroup} import android.view.{LayoutInflater, MenuItem, View, ViewGroup}
import android.widget.{LinearLayout, ImageView, CheckedTextView, Toast} import android.widget.{CheckedTextView, ImageView, LinearLayout, Toast}
import com.github.shadowsocks.database.Profile import com.github.shadowsocks.database.Profile
import com.github.shadowsocks.utils.{TrafficMonitor, Parser, Utils} import com.github.shadowsocks.utils.{Parser, TrafficMonitor, Utils}
import com.google.zxing.integration.android.IntentIntegrator import com.google.zxing.integration.android.IntentIntegrator
import net.glxn.qrgen.android.QRCode import net.glxn.qrgen.android.QRCode
...@@ -38,13 +37,12 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe ...@@ -38,13 +37,12 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe
image.setLayoutParams(new LinearLayout.LayoutParams(-1, -1)) image.setLayoutParams(new LinearLayout.LayoutParams(-1, -1))
val qrcode = QRCode.from(Parser.generate(item)) val qrcode = QRCode.from(Parser.generate(item))
.withSize(Utils.dpToPx(ProfileManagerActivity.this, 250), Utils.dpToPx(ProfileManagerActivity.this, 250)) .withSize(Utils.dpToPx(ProfileManagerActivity.this, 250), Utils.dpToPx(ProfileManagerActivity.this, 250))
.asInstanceOf[QRCode] .asInstanceOf[QRCode].bitmap()
image.setImageBitmap(qrcode.bitmap()) image.setImageBitmap(qrcode)
new AlertDialog.Builder(ProfileManagerActivity.this) new AlertDialog.Builder(ProfileManagerActivity.this)
.setCancelable(true) .setCancelable(true)
.setNegativeButton(getString(R.string.close), .setNegativeButton(R.string.close, null)
((dialog: DialogInterface, id: Int) => dialog.cancel()): DialogInterface.OnClickListener)
.setView(image) .setView(image)
.create() .create()
.show() .show()
......
...@@ -2,11 +2,11 @@ package com.github.shadowsocks ...@@ -2,11 +2,11 @@ package com.github.shadowsocks
import java.util.Locale import java.util.Locale
import android.app.AlertDialog
import android.content.{DialogInterface, Intent} import android.content.{DialogInterface, Intent}
import android.net.Uri import android.net.Uri
import android.os.{Build, Bundle} import android.os.{Build, Bundle}
import android.preference.{SwitchPreference, Preference, PreferenceFragment} import android.preference.{SwitchPreference, Preference, PreferenceFragment}
import android.support.v7.app.AlertDialog
import android.webkit.{WebViewClient, WebView} import android.webkit.{WebViewClient, WebView}
import com.github.shadowsocks.utils.Key import com.github.shadowsocks.utils.Key
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment