From 81587b05516d2b16d196a334e1bfd6970497a9c5 Mon Sep 17 00:00:00 2001 From: Mygod Date: Thu, 19 Nov 2015 14:33:10 +0800 Subject: [PATCH] Use AlertDialogs in support lib --- .../github/shadowsocks/ParserActivity.scala | 23 ++++++++----------- .../shadowsocks/ProfileManagerActivity.scala | 18 +++++++-------- .../shadowsocks/ShadowsocksSettings.scala | 2 +- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ParserActivity.scala b/src/main/scala/com/github/shadowsocks/ParserActivity.scala index f1265ccd..d1fcc697 100644 --- a/src/main/scala/com/github/shadowsocks/ParserActivity.scala +++ b/src/main/scala/com/github/shadowsocks/ParserActivity.scala @@ -39,15 +39,15 @@ package com.github.shadowsocks -import android.app.{Activity, AlertDialog} import android.content.DialogInterface import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.os.Bundle +import android.support.v7.app.{AppCompatActivity, AlertDialog} import android.view.WindowManager import com.github.shadowsocks.utils.Parser -class ParserActivity extends Activity { +class ParserActivity extends AppCompatActivity { override def onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) val data = getIntent.getData.toString @@ -56,30 +56,27 @@ class ParserActivity extends Activity { finish() return } - showAsPopup(this) + showAsPopup() val dialog = new AlertDialog.Builder(this) .setTitle(R.string.add_profile_dialog) .setCancelable(false) .setPositiveButton(android.R.string.yes, ((dialog: DialogInterface, id: Int) => { ShadowsocksApplication.profileManager.createProfile(profile.get) - dialog.dismiss() - }): DialogInterface.OnClickListener) - .setNegativeButton(android.R.string.no, ((dialog: DialogInterface, id: Int) => { - dialog.dismiss() }): DialogInterface.OnClickListener) + .setNegativeButton(android.R.string.no, null) .setMessage(data) .create() dialog.setOnDismissListener((dialog: DialogInterface) => finish()) // builder method was added in API 17 dialog.show() } - def showAsPopup(activity: Activity) { - activity.getWindow.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, - WindowManager.LayoutParams.FLAG_DIM_BEHIND) - val params = activity.getWindow.getAttributes + def showAsPopup() { + val window = getWindow + window.setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND) + val params = window.getAttributes params.alpha = 1.0f params.dimAmount = 0.5f - activity.getWindow.setAttributes(params.asInstanceOf[android.view.WindowManager.LayoutParams]) - activity.getWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)) + window.setAttributes(params.asInstanceOf[android.view.WindowManager.LayoutParams]) + window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)) } } diff --git a/src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala b/src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala index ce69db3c..a817a446 100644 --- a/src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala +++ b/src/main/scala/com/github/shadowsocks/ProfileManagerActivity.scala @@ -1,22 +1,21 @@ package com.github.shadowsocks -import android.app.AlertDialog -import android.content.{DialogInterface, Intent} +import android.content.Intent import android.os.Bundle 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.Toolbar.OnMenuItemClickListener import android.support.v7.widget.helper.ItemTouchHelper import android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback import android.support.v7.widget.{DefaultItemAnimator, LinearLayoutManager, RecyclerView, Toolbar} import android.text.style.TextAppearanceSpan -import android.text.{Spanned, SpannableStringBuilder} +import android.text.{SpannableStringBuilder, Spanned} import android.view.View.{OnAttachStateChangeListener, OnClickListener} 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.utils.{TrafficMonitor, Parser, Utils} +import com.github.shadowsocks.utils.{Parser, TrafficMonitor, Utils} import com.google.zxing.integration.android.IntentIntegrator import net.glxn.qrgen.android.QRCode @@ -38,13 +37,12 @@ class ProfileManagerActivity extends AppCompatActivity with OnMenuItemClickListe image.setLayoutParams(new LinearLayout.LayoutParams(-1, -1)) val qrcode = QRCode.from(Parser.generate(item)) .withSize(Utils.dpToPx(ProfileManagerActivity.this, 250), Utils.dpToPx(ProfileManagerActivity.this, 250)) - .asInstanceOf[QRCode] - image.setImageBitmap(qrcode.bitmap()) + .asInstanceOf[QRCode].bitmap() + image.setImageBitmap(qrcode) new AlertDialog.Builder(ProfileManagerActivity.this) .setCancelable(true) - .setNegativeButton(getString(R.string.close), - ((dialog: DialogInterface, id: Int) => dialog.cancel()): DialogInterface.OnClickListener) + .setNegativeButton(R.string.close, null) .setView(image) .create() .show() diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala index 82a3f0d4..fba18268 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksSettings.scala @@ -2,11 +2,11 @@ package com.github.shadowsocks import java.util.Locale -import android.app.AlertDialog import android.content.{DialogInterface, Intent} import android.net.Uri import android.os.{Build, Bundle} import android.preference.{SwitchPreference, Preference, PreferenceFragment} +import android.support.v7.app.AlertDialog import android.webkit.{WebViewClient, WebView} import com.github.shadowsocks.utils.Key