Remove popup notifications, for now.

This commit is contained in:
B. Petersen
2016-12-21 22:01:48 +01:00
parent 99615999b8
commit cce4e31b0f
13 changed files with 18 additions and 1738 deletions
@@ -131,15 +131,6 @@
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:exported="true">
</activity>
<activity
android:name="com.b44t.ui.PopupNotificationActivity"
android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:taskAffinity=""
android:theme="@style/Theme.MessengerProj.PopupNotification"
android:windowSoftInputMode="adjustResize|stateHidden">
</activity>
<receiver
android:name=".AutoMessageHeardReceiver"
@@ -35,7 +35,6 @@ import android.support.v4.app.RemoteInput;
import android.util.SparseArray;
import com.b44t.ui.LaunchActivity;
import com.b44t.ui.PopupNotificationActivity;
import java.util.ArrayList;
import java.util.Calendar;
@@ -1,365 +0,0 @@
/*
* This is the source code of Telegram for Android v. 3.x.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2016.
*/
package com.b44t.ui.Components;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.text.Layout;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.view.MotionEvent;
import android.view.SoundEffectConstants;
import com.b44t.messenger.AndroidUtilities;
import com.b44t.messenger.ImageLoader;
import com.b44t.messenger.MediaController;
import com.b44t.messenger.MessagesController;
import com.b44t.messenger.FileLoader;
import com.b44t.messenger.R;
import com.b44t.messenger.MessageObject;
import com.b44t.messenger.TLRPC;
import com.b44t.ui.ActionBar.Theme;
import com.b44t.ui.Cells.BaseCell;
import java.io.File;
public class PopupAudioView extends BaseCell implements SeekBar.SeekBarDelegate, MediaController.FileDownloadProgressListener {
private boolean wasLayout = false;
protected MessageObject currentMessageObject;
private static Drawable backgroundMediaDrawableIn;
private static Drawable[][] statesDrawable = new Drawable[8][2];
private static TextPaint timePaint;
private SeekBar seekBar;
private ProgressView progressView;
private int seekBarX;
private int seekBarY;
private int buttonState = 0;
private int buttonX;
private int buttonY;
private int buttonPressed = 0;
private StaticLayout timeLayout;
private int timeX;
int timeWidth = 0;
private String lastTimeString = null;
private int TAG;
public PopupAudioView(Context context) {
super(context);
if (backgroundMediaDrawableIn == null) {
backgroundMediaDrawableIn = getResources().getDrawable(R.drawable.msg_in_photo);
statesDrawable[0][0] = getResources().getDrawable(R.drawable.play_g);
statesDrawable[0][1] = getResources().getDrawable(R.drawable.play_g_s);
statesDrawable[1][0] = getResources().getDrawable(R.drawable.pause_g);
statesDrawable[1][1] = getResources().getDrawable(R.drawable.pause_g_s);
statesDrawable[2][0] = getResources().getDrawable(R.drawable.file_g_load);
statesDrawable[2][1] = getResources().getDrawable(R.drawable.file_g_load_s);
statesDrawable[3][0] = getResources().getDrawable(R.drawable.file_g_cancel);
statesDrawable[3][1] = getResources().getDrawable(R.drawable.file_g_cancel_s);
statesDrawable[4][0] = getResources().getDrawable(R.drawable.play_b);
statesDrawable[4][1] = getResources().getDrawable(R.drawable.play_b_s);
statesDrawable[5][0] = getResources().getDrawable(R.drawable.pause_b);
statesDrawable[5][1] = getResources().getDrawable(R.drawable.pause_b_s);
statesDrawable[6][0] = getResources().getDrawable(R.drawable.file_b_load);
statesDrawable[6][1] = getResources().getDrawable(R.drawable.file_b_load_s);
statesDrawable[7][0] = getResources().getDrawable(R.drawable.file_b_cancel);
statesDrawable[7][1] = getResources().getDrawable(R.drawable.file_b_cancel_s);
timePaint = new TextPaint(TextPaint.ANTI_ALIAS_FLAG);
timePaint.setTextSize(AndroidUtilities.dp(16));
}
TAG = MediaController.getInstance().generateObserverTag();
seekBar = new SeekBar(getContext());
seekBar.setDelegate(this);
progressView = new ProgressView();
}
public void setMessageObject(MessageObject messageObject) {
if (currentMessageObject != messageObject) {
seekBar.setColors(Theme.MSG_IN_AUDIO_SEEKBAR_COLOR, Theme.MSG_IN_AUDIO_SEEKBAR_FILL_COLOR, Theme.MSG_IN_AUDIO_SEEKBAR_SELECTED_COLOR);
progressView.setProgressColors(0xffd9e2eb, 0xff86c5f8);
currentMessageObject = messageObject;
wasLayout = false;
requestLayout();
}
updateButtonState();
}
public final MessageObject getMessageObject() {
return currentMessageObject;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = MeasureSpec.getSize(widthMeasureSpec);
setMeasuredDimension(width, AndroidUtilities.dp(56));
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
if (currentMessageObject == null) {
super.onLayout(changed, left, top, right, bottom);
return;
}
seekBarX = AndroidUtilities.dp(54);
buttonX = AndroidUtilities.dp(10);
timeX = getMeasuredWidth() - timeWidth - AndroidUtilities.dp(16);
seekBar.setSize(getMeasuredWidth() - AndroidUtilities.dp(70) - timeWidth, AndroidUtilities.dp(30));
progressView.width = getMeasuredWidth() - AndroidUtilities.dp(94) - timeWidth;
progressView.height = AndroidUtilities.dp(30);
seekBarY = AndroidUtilities.dp(13);
buttonY = AndroidUtilities.dp(10);
updateProgress();
if (changed || !wasLayout) {
wasLayout = true;
}
}
@Override
protected void onDraw(Canvas canvas) {
if (currentMessageObject == null) {
return;
}
if (!wasLayout) {
requestLayout();
return;
}
setDrawableBounds(backgroundMediaDrawableIn, 0, 0, getMeasuredWidth(), getMeasuredHeight());
backgroundMediaDrawableIn.draw(canvas);
if (currentMessageObject == null) {
return;
}
canvas.save();
if (buttonState == 0 || buttonState == 1) {
canvas.translate(seekBarX, seekBarY);
seekBar.draw(canvas);
} else {
canvas.translate(seekBarX + AndroidUtilities.dp(12), seekBarY);
progressView.draw(canvas);
}
canvas.restore();
int state = buttonState + 4;
timePaint.setColor(0xffa1aab3);
Drawable buttonDrawable = statesDrawable[state][buttonPressed];
int side = AndroidUtilities.dp(36);
int x = (side - buttonDrawable.getIntrinsicWidth()) / 2;
int y = (side - buttonDrawable.getIntrinsicHeight()) / 2;
setDrawableBounds(buttonDrawable, x + buttonX, y + buttonY);
buttonDrawable.draw(canvas);
canvas.save();
canvas.translate(timeX, AndroidUtilities.dp(18));
timeLayout.draw(canvas);
canvas.restore();
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
MediaController.getInstance().removeLoadingFileObserver(this);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
boolean result = seekBar.onTouch(event.getAction(), event.getX() - seekBarX, event.getY() - seekBarY);
if (result) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
getParent().requestDisallowInterceptTouchEvent(true);
}
invalidate();
} else {
int side = AndroidUtilities.dp(36);
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (x >= buttonX && x <= buttonX + side && y >= buttonY && y <= buttonY + side) {
buttonPressed = 1;
invalidate();
result = true;
}
} else if (buttonPressed == 1) {
if (event.getAction() == MotionEvent.ACTION_UP) {
buttonPressed = 0;
playSoundEffect(SoundEffectConstants.CLICK);
didPressedButton();
invalidate();
} else if (event.getAction() == MotionEvent.ACTION_CANCEL) {
buttonPressed = 0;
invalidate();
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
if (!(x >= buttonX && x <= buttonX + side && y >= buttonY && y <= buttonY + side)) {
buttonPressed = 0;
invalidate();
}
}
}
if (!result) {
result = super.onTouchEvent(event);
}
}
return result;
}
private void didPressedButton() {
if (buttonState == 0) {
boolean result = MediaController.getInstance().playAudio(currentMessageObject);
if (!currentMessageObject.isOut() && currentMessageObject.isContentUnread()) {
if (currentMessageObject.messageOwner.to_id.channel_id == 0) {
MessagesController.getInstance().markMessageContentAsRead(currentMessageObject);
currentMessageObject.setContentIsRead();
}
}
if (result) {
buttonState = 1;
invalidate();
}
} else if (buttonState == 1) {
boolean result = MediaController.getInstance().pauseAudio(currentMessageObject);
if (result) {
buttonState = 0;
invalidate();
}
} else if (buttonState == 2) {
FileLoader.getInstance().loadFile(currentMessageObject.getDocument(), true, false);
buttonState = 3;
invalidate();
} else if (buttonState == 3) {
FileLoader.getInstance().cancelLoadFile(currentMessageObject.getDocument());
buttonState = 2;
invalidate();
}
}
public void updateProgress() {
if (currentMessageObject == null) {
return;
}
if (!seekBar.isDragging()) {
seekBar.setProgress(currentMessageObject.audioProgress);
}
int duration = 0;
if (!MediaController.getInstance().isPlayingAudio(currentMessageObject)) {
for (int a = 0; a < currentMessageObject.getDocument().attributes.size(); a++) {
TLRPC.DocumentAttribute attribute = currentMessageObject.getDocument().attributes.get(a);
if (attribute instanceof TLRPC.TL_documentAttributeAudio) {
duration = attribute.duration;
break;
}
}
} else {
duration = currentMessageObject.audioProgressSec;
}
String timeString = String.format("%02d:%02d", duration / 60, duration % 60);
if (lastTimeString == null || lastTimeString != null && !lastTimeString.equals(timeString)) {
timeWidth = (int)Math.ceil(timePaint.measureText(timeString));
timeLayout = new StaticLayout(timeString, timePaint, timeWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
}
invalidate();
}
public void downloadAudioIfNeed() {
if (buttonState == 2) {
FileLoader.getInstance().loadFile(currentMessageObject.getDocument(), true, false);
buttonState = 3;
invalidate();
}
}
public void updateButtonState() {
String fileName = currentMessageObject.getFileName();
File cacheFile = FileLoader.getPathToMessage(currentMessageObject.messageOwner);
if (cacheFile.exists()) {
MediaController.getInstance().removeLoadingFileObserver(this);
boolean playing = MediaController.getInstance().isPlayingAudio(currentMessageObject);
if (!playing || playing && MediaController.getInstance().isAudioPaused()) {
buttonState = 0;
} else {
buttonState = 1;
}
progressView.setProgress(0);
} else {
MediaController.getInstance().addLoadingFileObserver(fileName, this);
if (!FileLoader.getInstance().isLoadingFile(fileName)) {
buttonState = 2;
progressView.setProgress(0);
} else {
buttonState = 3;
Float progress = ImageLoader.getInstance().getFileProgress(fileName);
if (progress != null) {
progressView.setProgress(progress);
} else {
progressView.setProgress(0);
}
}
}
updateProgress();
}
@Override
public void onFailedDownload(String fileName) {
updateButtonState();
}
@Override
public void onSuccessDownload(String fileName) {
updateButtonState();
}
@Override
public void onProgressDownload(String fileName, float progress) {
progressView.setProgress(progress);
if (buttonState != 3) {
updateButtonState();
}
invalidate();
}
@Override
public void onProgressUpload(String fileName, float progress, boolean isEncrypted) {
}
@Override
public int getObserverTag() {
return TAG;
}
@Override
public void onSeekBarDrag(float progress) {
if (currentMessageObject == null) {
return;
}
currentMessageObject.audioProgress = progress;
MediaController.getInstance().seekToProgress(currentMessageObject, progress);
}
}
@@ -26,7 +26,6 @@ import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;
import com.b44t.messenger.LocaleController;
import com.b44t.messenger.NotificationsController;
@@ -59,7 +58,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
private int messageVibrateRow;
private int messageSoundRow;
private int messageLedRow;
private int messagePopupNotificationRow;
private int messagePriorityRow;
private int groupSectionRow2;
private int groupSectionRow;
@@ -68,7 +66,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
private int groupVibrateRow;
private int groupSoundRow;
private int groupLedRow;
private int groupPopupNotificationRow;
private int groupPriorityRow;
private int inappSectionRow2;
private int inappSectionRow;
@@ -86,6 +83,13 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
private int resetNotificationsRow;
private int rowCount = 0;
private final int TYPE_HEADER = 0;
private final int TYPE_CHECK_CELL = 1;
private final int TYPE_TEXT_DETAIL = 2;
private final int TYPE_COLOR_CELL = 3;
private final int TYPE_SHADOW = 4;
private final int TYPE_COUNT = 5;
@Override
public boolean onFragmentCreate() {
messageSectionRow = rowCount++;
@@ -93,7 +97,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
messagePreviewRow = rowCount++;
messageLedRow = rowCount++;
messageVibrateRow = rowCount++;
messagePopupNotificationRow = rowCount++;
messageSoundRow = rowCount++;
if (Build.VERSION.SDK_INT >= 21) {
messagePriorityRow = rowCount++;
@@ -106,7 +109,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
groupPreviewRow = rowCount++;
groupLedRow = rowCount++;
groupVibrateRow = rowCount++;
groupPopupNotificationRow = rowCount++;
groupSoundRow = rowCount++;
if (Build.VERSION.SDK_INT >= 21) {
groupPriorityRow = rowCount++;
@@ -377,32 +379,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
}
});
showDialog(builder.create());
} else if (i == messagePopupNotificationRow || i == groupPopupNotificationRow) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("PopupNotification", R.string.PopupNotification));
builder.setItems(new CharSequence[]{
LocaleController.getString("NoPopup", R.string.NoPopup),
LocaleController.getString("OnlyWhenScreenOn", R.string.OnlyWhenScreenOn),
LocaleController.getString("OnlyWhenScreenOff", R.string.OnlyWhenScreenOff),
LocaleController.getString("AlwaysShowPopup", R.string.AlwaysShowPopup)
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("Notifications", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
if (i == messagePopupNotificationRow) {
editor.putInt("popupAll", which);
} else if (i == groupPopupNotificationRow) {
editor.putInt("popupGroup", which);
}
editor.commit();
if (listView != null) {
listView.invalidateViews();
}
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
showDialog(builder.create());
} else if (i == messageVibrateRow || i == groupVibrateRow) {
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
builder.setTitle(LocaleController.getString("Vibrate", R.string.Vibrate));
@@ -602,7 +578,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
int type = getItemViewType(i);
if (type == 0) {
if (type == TYPE_HEADER) {
if (view == null) {
view = new HeaderCell(mContext);
}
@@ -617,7 +593,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
} else if (i == resetSectionRow) {
((HeaderCell) view).setText(LocaleController.getString("Reset", R.string.Reset));
}
} if (type == 1) {
} if (type == TYPE_CHECK_CELL) {
if (view == null) {
view = new TextCheckCell(mContext);
}
@@ -649,7 +625,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
} else if (i == inchatSoundRow) {
checkCell.setTextAndCheck(LocaleController.getString("InChatSound", R.string.InChatSound), preferences.getBoolean("EnableInChatSound", true), true);
}
} else if (type == 2) {
} else if (type == TYPE_TEXT_DETAIL) {
if (view == null) {
view = new TextDetailSettingsCell(mContext);
}
@@ -673,25 +649,6 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
} else if (i == resetNotificationsRow) {
textCell.setMultilineDetail(true);
textCell.setTextAndValue(LocaleController.getString("ResetAllNotifications", R.string.ResetAllNotifications), LocaleController.getString("UndoAllCustom", R.string.UndoAllCustom), false);
} else if (i == messagePopupNotificationRow || i == groupPopupNotificationRow) {
textCell.setMultilineDetail(false);
int option = 0;
if (i == messagePopupNotificationRow) {
option = preferences.getInt("popupAll", 0);
} else if (i == groupPopupNotificationRow) {
option = preferences.getInt("popupGroup", 0);
}
String value;
if (option == 0) {
value = LocaleController.getString("NoPopup", R.string.NoPopup);
} else if (option == 1) {
value = LocaleController.getString("OnlyWhenScreenOn", R.string.OnlyWhenScreenOn);
} else if (option == 2) {
value = LocaleController.getString("OnlyWhenScreenOff", R.string.OnlyWhenScreenOff);
} else {
value = LocaleController.getString("AlwaysShowPopup", R.string.AlwaysShowPopup);
}
textCell.setTextAndValue(LocaleController.getString("PopupNotification", R.string.PopupNotification), value, true);
} else if (i == messageVibrateRow || i == groupVibrateRow) {
textCell.setMultilineDetail(false);
int value = 0;
@@ -739,7 +696,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
textCell.setTextAndValue(LocaleController.getString("NotificationsPriority", R.string.NotificationsPriority), LocaleController.getString("NotificationsPriorityMax", R.string.NotificationsPriorityMax), false);
}
}
} else if (type == 3) {
} else if (type == TYPE_COLOR_CELL) {
if (view == null) {
view = new TextColorCell(mContext);
}
@@ -752,7 +709,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
} else if (i == groupLedRow) {
textCell.setTextAndColor(LocaleController.getString("LedColor", R.string.LedColor), preferences.getInt("GroupLed", 0xff00ff00), true);
}
} else if (type == 4) {
} else if (type == TYPE_SHADOW) {
if (view == null) {
view = new ShadowSectionCell(mContext);
}
@@ -764,26 +721,26 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
public int getItemViewType(int i) {
if (i == messageSectionRow || i == groupSectionRow || i == inappSectionRow ||
i == otherSectionRow || i == resetSectionRow) {
return 0;
return TYPE_HEADER;
} else if (i == messageAlertRow || i == messagePreviewRow || i == groupAlertRow ||
i == groupPreviewRow || i == inappSoundRow || i == inappVibrateRow ||
i == inappPreviewRow ||
i == notificationsServiceRow || i == badgeNumberRow || i == inappPriorityRow ||
i == inchatSoundRow || i == notificationsServiceConnectionRow) {
return 1;
return TYPE_CHECK_CELL;
} else if (i == messageLedRow || i == groupLedRow) {
return 3;
return TYPE_COLOR_CELL;
} else if ( i == groupSectionRow2 ||
i == inappSectionRow2 || i == otherSectionRow2 || i == resetSectionRow2) {
return 4;
return TYPE_SHADOW;
} else {
return 2;
return TYPE_TEXT_DETAIL;
}
}
@Override
public int getViewTypeCount() {
return 5;
return TYPE_COUNT;
}
@Override
File diff suppressed because it is too large Load Diff
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Nutzt eine batterieschonende Hintergrundverbindung, um Benachrichtigungen zu gewährleisten.</string>
<string name="ImportContacts">Kontakte importieren</string>
<string name="LedColor">LED-Farbe</string>
<string name="PopupNotification">Popup Mitteilungen</string>
<string name="NoPopup">Kein Popup</string>
<string name="OnlyWhenScreenOn">Nur wenn Bildschirm „an“</string>
<string name="OnlyWhenScreenOff">Nur wenn Bildschirm „aus“</string>
<string name="AlwaysShowPopup">Popups immer anzeigen</string>
<string name="BadgeNumber">Anzahl in Popup anzeigen</string>
<string name="Short">Kurz</string>
<string name="Long">Lang</string>
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Conexión de bajo impacto, en segundo plano, para recibir notificaciones. Úsala para tener notificaciones fiables.</string>
<string name="ImportContacts">Importar contactos</string>
<string name="LedColor">Color del LED</string>
<string name="PopupNotification">Notificaciones emergentes</string>
<string name="NoPopup">Desactivadas</string>
<string name="OnlyWhenScreenOn">Con pantalla encendida</string>
<string name="OnlyWhenScreenOff">Con pantalla apagada</string>
<string name="AlwaysShowPopup">Mostrar siempre </string>
<string name="BadgeNumber">Globo en el ícono</string>
<string name="Short">Cortas</string>
<string name="Long">Largas</string>
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Mantiene una connessione a basso impatto per ricevere le notifiche. Attivala per notifiche affidabili.</string>
<string name="ImportContacts">Importa contatti</string>
<string name="LedColor">Colore LED</string>
<string name="PopupNotification">Notifiche popup</string>
<string name="NoPopup">Nessun popup</string>
<string name="OnlyWhenScreenOn">Solo con schermo acceso</string>
<string name="OnlyWhenScreenOff">Solo con schermo spento</string>
<string name="AlwaysShowPopup">Mostra sempre i popup</string>
<string name="BadgeNumber">Contatore badge</string>
<string name="Short">Breve</string>
<string name="Long">Lunga</string>
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Achtergrondverbinding voor meldingen. Inschakelen voor betrouwbare meldingen.</string>
<string name="ImportContacts">Importeer contacten</string>
<string name="LedColor">LED-kleur</string>
<string name="PopupNotification">Pop-up meldingen</string>
<string name="NoPopup">Geen pop-up</string>
<string name="OnlyWhenScreenOn">Alleen bij scherm aan</string>
<string name="OnlyWhenScreenOff">Alleen bij scherm uit</string>
<string name="AlwaysShowPopup">Altijd pop-up tonen</string>
<string name="BadgeNumber">Badgenummer</string>
<string name="Short">Kort</string>
<string name="Long">Lang</string>
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Manter uma conexão de baixo impacto para receber notificações. Habilite para notificações mais confiáveis.</string>
<string name="ImportContacts">Importar Contatos</string>
<string name="LedColor">Cor do LED</string>
<string name="PopupNotification">Notificações Pop-up</string>
<string name="NoPopup">Sem pop-up</string>
<string name="OnlyWhenScreenOn">Somente com a tela ligada</string>
<string name="OnlyWhenScreenOff">Somente com a tela desligada</string>
<string name="AlwaysShowPopup">Sempre mostrar pop-up</string>
<string name="BadgeNumber">Contador no Ícone</string>
<string name="Short">Curta</string>
<string name="Long">Longa</string>
@@ -38,15 +38,6 @@
<item name="android:colorControlActivated">#4991cc</item>
</style>
<style name="Theme.MessengerProj.PopupNotification" parent="Theme.MessengerProj">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:colorPrimaryDark">#99000000</item>
</style>
<style name="Theme.MessengerProj.Dialog.Alert" parent="android:style/Theme.Material.Light.Dialog.Alert">
<item name="android:colorAccent">#4991cc</item>
</style>
@@ -210,11 +210,6 @@
<string name="NotificationsServiceConnectionInfo">Keep a low impact background connection to receive notifications. Enable for reliable notifications.</string>
<string name="ImportContacts">Import Contacts</string>
<string name="LedColor">LED Color</string>
<string name="PopupNotification">Popup Notifications</string>
<string name="NoPopup">No popup</string>
<string name="OnlyWhenScreenOn">Only when screen \"on\"</string>
<string name="OnlyWhenScreenOff">Only when screen \"off\"</string>
<string name="AlwaysShowPopup">Always show popup</string>
<string name="BadgeNumber">Show count in popup</string>
<string name="Short">Short</string>
<string name="Long">Long</string>
@@ -24,14 +24,6 @@
<item name="android:actionBarItemBackground">@drawable/bar_selector_style</item>
</style>
<style name="Theme.MessengerProj.PopupNotification" parent="Theme.MessengerProj">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
<!-- POPUP -->
<style name="PopupAnimation" parent="android:Animation" mce_bogus="1">