mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-24 16:06:51 +08:00
tidying
This commit is contained in:
parent
1e8ad4361d
commit
be9599d0a7
1186
.efrocachemap
1186
.efrocachemap
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,11 @@
|
||||
### 1.7.16 (build 20961, api 7, 2022-12-06)
|
||||
- Fixed a bug where profile names encased in curly brackets could cause harmless error messages.
|
||||
- Android will no longer log errors on ba.open_url() calls if a browser is not available (it still just falls back to the in-app dialog in that case).
|
||||
- The 'Upgrade' button for device accounts now signs you out and closes the upgrade window to hopefully make it more clear that you need to sign in with your newly created/upgraded BombSquad account.
|
||||
|
||||
### 1.7.15 (build 20960, api 7, 2022-12-04)
|
||||
- The cancel button on the 'Sign in with a Bombsquad Account' popup no longer respond to system cancel buttons (escape key, android back button, etc). Turns out some Android people were pressing back repeatedly to come back from a browser after signing in and immediately canceling their sign in attempts in the game before they completed. Hopefully this will avoid some frustration.
|
||||
- Fixed an issue where back presses could result in multiple main menu windows appearing.
|
||||
|
||||
### 1.7.14 (build 20958, api 7, 2022-12-03)
|
||||
- Android Google Play logins now provide V2 accounts with access to all V2 features such as a globally-unique account tag, cloud-console, and workspaces. They should still retain their V1 data as well.
|
||||
@ -15,6 +22,7 @@
|
||||
- Fixed a low level event-loop issue that in some cases was preventing the Android version from properly pausing/resuming the app or managing connections while in the background. If you look at the devices section on ballistica.net you should now see your device disappear when you background the app and reappear when you foreground it. Please holler if not.
|
||||
- Device accounts are now marked as deprecated, and signing in with one now brings up an 'upgrade' UI which allows converting it to a V2 account. It is my hope to push the entire client ecosystem to V2 accounts as quickly as possible since trying to support both independent V1 accounts and V2 accounts is a substantial technical burden.
|
||||
- Fixed an issue where Log calls made within `Thread::PushThreadMessage()` could result in deadlock.
|
||||
- Fixed an issue where some Android hardware buttons could theoretically cause rogue game controller button presses (due to downcasting int values > 255 into a uint8 value).
|
||||
|
||||
### 1.7.13 (build 20919, api 7, 2022-11-03)
|
||||
- Android target-sdk has been updated to 33 (Android 13). Please holler if anything seems broken or is behaving differently than before on Android.
|
||||
|
||||
@ -47,7 +47,7 @@ def bootstrap() -> None:
|
||||
|
||||
# Give a soft warning if we're being used with a different binary
|
||||
# version than we expect.
|
||||
expected_build = 20960
|
||||
expected_build = 20961
|
||||
running_build: int = env['build_number']
|
||||
if running_build != expected_build:
|
||||
print(
|
||||
|
||||
@ -173,7 +173,7 @@ class PluginSubsystem:
|
||||
color=(1, 1, 0),
|
||||
)
|
||||
plugnames = ', '.join(disappeared_plugs)
|
||||
logging.warning(
|
||||
logging.info(
|
||||
'%d plugin(s) no longer found: %s.',
|
||||
len(disappeared_plugs),
|
||||
plugnames,
|
||||
|
||||
@ -67,11 +67,14 @@ class V2ProxySignInWindow(ba.Window):
|
||||
label=ba.Lstr(resource='cancelText'),
|
||||
on_activate_call=self._done,
|
||||
autoselect=True,
|
||||
color=(0.55, 0.5, 0.6),
|
||||
textcolor=(0.75, 0.7, 0.8),
|
||||
)
|
||||
ba.containerwidget(
|
||||
edit=self._root_widget, cancel_button=self._cancel_button
|
||||
)
|
||||
|
||||
if bool(False):
|
||||
ba.containerwidget(
|
||||
edit=self._root_widget, cancel_button=self._cancel_button
|
||||
)
|
||||
|
||||
self._update_timer: ba.Timer | None = None
|
||||
|
||||
|
||||
@ -88,17 +88,13 @@ class V2UpgradeWindow(ba.Window):
|
||||
on_activate_call=show_what_is_v2_page,
|
||||
)
|
||||
|
||||
bamasteraddr = ba.internal.get_master_server_address(version=2)
|
||||
upgrade_button = ba.buttonwidget(
|
||||
parent=self._root_widget,
|
||||
position=(self._width - button_width - 20, 25),
|
||||
size=(button_width, 65),
|
||||
autoselect=True,
|
||||
label=ba.Lstr(resource='upgradeText'),
|
||||
on_activate_call=ba.Call(
|
||||
ba.open_url,
|
||||
f'{bamasteraddr}/v2uda/{self._code}',
|
||||
),
|
||||
on_activate_call=self._upgrade_press,
|
||||
)
|
||||
|
||||
ba.containerwidget(
|
||||
@ -107,5 +103,15 @@ class V2UpgradeWindow(ba.Window):
|
||||
cancel_button=cancel_button,
|
||||
)
|
||||
|
||||
def _upgrade_press(self) -> None:
|
||||
# Get rid of the window and sign out before kicking the
|
||||
# user over to a browser to do the upgrade. This hopefully
|
||||
# makes it more clear when they come back that they need to
|
||||
# sign in with the 'BombSquad account' option.
|
||||
ba.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
ba.internal.sign_out_v1()
|
||||
bamasteraddr = ba.internal.get_master_server_address(version=2)
|
||||
ba.open_url(f'{bamasteraddr}/v2uda/{self._code}')
|
||||
|
||||
def _done(self) -> None:
|
||||
ba.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
|
||||
@ -257,10 +257,13 @@ void AppFlavor::PauseApp() {
|
||||
auto threads{Thread::GetStillPausingThreads()};
|
||||
running_thread_count = threads.size();
|
||||
if (running_thread_count == 0) {
|
||||
Log(LogLevel::kDebug,
|
||||
"PauseApp() completed in "
|
||||
+ std::to_string(Platform::GetCurrentMilliseconds() - start_time)
|
||||
+ "ms.");
|
||||
if (g_buildconfig.debug_build()) {
|
||||
Log(LogLevel::kDebug,
|
||||
"PauseApp() completed in "
|
||||
+ std::to_string(Platform::GetCurrentMilliseconds()
|
||||
- start_time)
|
||||
+ "ms.");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -282,10 +285,12 @@ void AppFlavor::ResumeApp() {
|
||||
assert(sys_paused_app_);
|
||||
sys_paused_app_ = false;
|
||||
UpdatePauseResume();
|
||||
Log(LogLevel::kDebug,
|
||||
"ResumeApp() completed in "
|
||||
+ std::to_string(Platform::GetCurrentMilliseconds() - start_time)
|
||||
+ "ms.");
|
||||
if (g_buildconfig.debug_build()) {
|
||||
Log(LogLevel::kDebug,
|
||||
"ResumeApp() completed in "
|
||||
+ std::to_string(Platform::GetCurrentMilliseconds() - start_time)
|
||||
+ "ms.");
|
||||
}
|
||||
}
|
||||
|
||||
void AppFlavor::DidFinishRenderingFrame(FrameDef* frame) {}
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
namespace ballistica {
|
||||
|
||||
// These are set automatically via script; don't modify them here.
|
||||
const int kAppBuildNumber = 20960;
|
||||
const char* kAppVersion = "1.7.15";
|
||||
const int kAppBuildNumber = 20961;
|
||||
const char* kAppVersion = "1.7.16";
|
||||
|
||||
// Our standalone globals.
|
||||
// These are separated out for easy access.
|
||||
|
||||
@ -1108,7 +1108,15 @@ void RootWidget::SetOverlayWidget(StackWidget* w) {
|
||||
overlay_stack_widget_ = w;
|
||||
}
|
||||
|
||||
void RootWidget::OnCancelCustom() { g_ui->PushBackButtonCall(nullptr); }
|
||||
void RootWidget::OnCancelCustom() {
|
||||
// Need to revisit this. If the cancel event it pushes is not handled, it will
|
||||
// wind up back here where it pushes another back call. This cycle repeats
|
||||
// forever until something comes along which does handle cancel events and
|
||||
// then it gets them all. Current repro case is Sign-in-with-BombSquad-Account
|
||||
// window - press escape a few times while that is up and then click cancel;
|
||||
// This code is only used for toolbar mode so should be safe to leave it
|
||||
// disabled for now. g_ui->PushBackButtonCall(nullptr);
|
||||
}
|
||||
|
||||
auto RootWidget::GetSpecialWidget(const std::string& s) const -> Widget* {
|
||||
if (s == "party_button") {
|
||||
|
||||
@ -441,20 +441,23 @@ void TextWidget::SetText(const std::string& text_in_raw) {
|
||||
bool do_format_check{};
|
||||
bool print_false_positives{};
|
||||
|
||||
if (g_buildconfig.debug_build()) {
|
||||
do_format_check = explicit_bool(true);
|
||||
} else {
|
||||
if (text_in_raw.size() > 1 && text_in_raw[0] == '{'
|
||||
&& text_in_raw[text_in_raw.size() - 1] == '}') {
|
||||
// Ok, its got bounds like json; now if its either missing quotes or a
|
||||
// colon then let's check it.
|
||||
if (!strstr(text_in_raw.c_str(), "\"")
|
||||
|| !strstr(text_in_raw.c_str(), ":")) {
|
||||
do_format_check = true;
|
||||
// Only non-editable text support resource-strings.
|
||||
if (!editable_) {
|
||||
if (g_buildconfig.debug_build()) {
|
||||
do_format_check = explicit_bool(true);
|
||||
} else {
|
||||
if (text_in_raw.size() > 1 && text_in_raw[0] == '{'
|
||||
&& text_in_raw[text_in_raw.size() - 1] == '}') {
|
||||
// Ok, its got bounds like json; now if its either missing quotes or a
|
||||
// colon then let's check it.
|
||||
if (!strstr(text_in_raw.c_str(), "\"")
|
||||
|| !strstr(text_in_raw.c_str(), ":")) {
|
||||
do_format_check = true;
|
||||
|
||||
// We wanna avoid doing this check when we don't have to.
|
||||
// so lets print if we get a false positive
|
||||
print_false_positives = true;
|
||||
// We wanna avoid doing this check when we don't have to.
|
||||
// so lets print if we get a false positive
|
||||
print_false_positives = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user