diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/build.gradle boinc-7.16.6+dfsg/android/BOINC/app/build.gradle --- boinc-7.16.5+dfsg/android/BOINC/app/build.gradle 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/build.gradle 2020-03-23 05:13:30.000000000 +0000 @@ -67,6 +67,10 @@ debuggable true } } + compileOptions { + sourceCompatibility '1.8' + targetCompatibility '1.8' + } } dependencies { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/adapter/NoticesListAdapter.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/adapter/NoticesListAdapter.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/adapter/NoticesListAdapter.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/adapter/NoticesListAdapter.java 2020-03-23 05:13:30.000000000 +0000 @@ -27,7 +27,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; @@ -83,18 +82,14 @@ tvNoticeTime.setText(DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(new Date( (long) listItem.create_time * 1000))); - v.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "noticeClick: " + listItem.link); - } - - if(listItem.link != null && !listItem.link.isEmpty()) { - Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(listItem.link)); - activity.startActivity(i); - } + v.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "noticeClick: " + listItem.link); + } + if(listItem.link != null && !listItem.link.isEmpty()) { + Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(listItem.link)); + activity.startActivity(i); } }); diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/AcctMgrFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/AcctMgrFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/AcctMgrFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/AcctMgrFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -41,7 +41,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.AdapterView; @@ -122,42 +121,38 @@ } }); - continueB.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View arg0) { - if (Logging.DEBUG) Log.d(Logging.TAG, "AcctMgrFragment continue clicked"); - if (!checkDeviceOnline()) return; - if (asIsBound) { - - // get user input - String url = urlInput.getText().toString(); - String name = nameInput.getText().toString(); - String pwd = pwdInput.getText().toString(); - - // verify input - int res; - if ((res = verifyInput(url, name, pwd)) != 0) { - warning.setText(res); - warning.setVisibility(View.VISIBLE); - return; - } - - // adapt layout - continueB.setVisibility(View.GONE); - warning.setVisibility(View.GONE); - ongoingWrapper.setVisibility(View.VISIBLE); - - String[] params = new String[3]; - params[0] = url; - params[1] = name; - params[2] = pwd; - asyncTask = new AttachProjectAsyncTask(); - asyncTask.execute(params); - - } else if (Logging.DEBUG) - Log.d(Logging.TAG, "AcctMgrFragment service not bound, do nothing..."); - } + continueB.setOnClickListener(view -> { + if (Logging.DEBUG) Log.d(Logging.TAG, "AcctMgrFragment continue clicked"); + if (!checkDeviceOnline()) return; + if (asIsBound) { + + // get user input + String url = urlInput.getText().toString(); + String name = nameInput.getText().toString(); + String pwd = pwdInput.getText().toString(); + + // verify input + int res; + if ((res = verifyInput(url, name, pwd)) != 0) { + warning.setText(res); + warning.setVisibility(View.VISIBLE); + return; + } + + // adapt layout + continueB.setVisibility(View.GONE); + warning.setVisibility(View.GONE); + ongoingWrapper.setVisibility(View.VISIBLE); + + String[] params = new String[3]; + params[0] = url; + params[1] = name; + params[2] = pwd; + asyncTask = new AttachProjectAsyncTask(); + asyncTask.execute(params); + } else if (Logging.DEBUG) + Log.d(Logging.TAG, "AcctMgrFragment service not bound, do nothing..."); }); doBindService(); diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/BatchConflictListAdapter.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/BatchConflictListAdapter.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/BatchConflictListAdapter.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/BatchConflictListAdapter.java 2020-03-23 05:13:30.000000000 +0000 @@ -91,15 +91,12 @@ status.setVisibility(View.VISIBLE); status.setText(listItem.getResultDescription()); resolveIv.setVisibility(View.VISIBLE); - itemWrapper.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "BatchConflictListAdapter: start resolution dialog for: " + listItem.name); - } - IndividualCredentialInputFragment dialog = IndividualCredentialInputFragment.newInstance(listItem); - dialog.show(fmgr, listItem.name); + itemWrapper.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "BatchConflictListAdapter: start resolution dialog for: " + listItem.name); } + IndividualCredentialInputFragment dialog = IndividualCredentialInputFragment.newInstance(listItem); + dialog.show(fmgr, listItem.name); }); } else if(listItem.result == ProjectAttachWrapper.RESULT_CONFIG_DOWNLOAD_FAILED) { @@ -117,15 +114,12 @@ status.setVisibility(View.VISIBLE); status.setText(listItem.getResultDescription()); resolveIv.setVisibility(View.VISIBLE); - itemWrapper.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "BatchConflictListAdapter: start resolution dialog for: " + listItem.name); - } - IndividualCredentialInputFragment dialog = IndividualCredentialInputFragment.newInstance(listItem); - dialog.show(fmgr, listItem.name); + itemWrapper.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "BatchConflictListAdapter: start resolution dialog for: " + listItem.name); } + IndividualCredentialInputFragment dialog = IndividualCredentialInputFragment.newInstance(listItem); + dialog.show(fmgr, listItem.name); }); statusPb.setVisibility(View.GONE); statusImage.setVisibility(View.VISIBLE); diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/CredentialInputActivity.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/CredentialInputActivity.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/CredentialInputActivity.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/CredentialInputActivity.java 2020-03-23 05:13:30.000000000 +0000 @@ -35,7 +35,6 @@ import android.text.method.PasswordTransformationMethod; import android.util.Log; import android.view.View; -import android.view.View.OnClickListener; import android.widget.CheckBox; import android.widget.EditText; @@ -61,16 +60,13 @@ pwdET = findViewById(R.id.pwd_input); CheckBox showPwdCb = findViewById(R.id.show_pwd_cb); - showPwdCb.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(((CheckBox) v).isChecked()) { - pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); - } - else { - pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); - pwdET.setTransformationMethod(PasswordTransformationMethod.getInstance()); - } + showPwdCb.setOnClickListener(view -> { + if(((CheckBox) view).isChecked()) { + pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + } + else { + pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + pwdET.setTransformationMethod(PasswordTransformationMethod.getInstance()); } }); } diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/IndividualCredentialInputFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/IndividualCredentialInputFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/IndividualCredentialInputFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/IndividualCredentialInputFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -36,7 +36,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; @@ -89,63 +88,51 @@ pwdET = v.findViewById(R.id.pwd_input); Button loginButton = v.findViewById(R.id.login_button); - loginButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "IndividualCredentialInputFragment: login clicked"); - } - mListener.onFinish(project, true, emailET.getText().toString(), nameET.getText().toString(), pwdET.getText().toString()); - dismiss(); + loginButton.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "IndividualCredentialInputFragment: login clicked"); } + mListener.onFinish(project, true, emailET.getText().toString(), nameET.getText().toString(), pwdET.getText().toString()); + dismiss(); }); Button registerButton = v.findViewById(R.id.register_button); - registerButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, - "IndividualCredentialInputFragment: register clicked, client account creation disabled: " + - project.config.clientAccountCreationDisabled); - } - if(project.config.clientAccountCreationDisabled) { - // cannot register in client, open website - Intent i = new Intent(Intent.ACTION_VIEW); - i.setData(Uri.parse(project.config.masterUrl)); - startActivity(i); - } - else { - mListener.onFinish(project, false, emailET.getText().toString(), nameET.getText().toString(), pwdET.getText().toString()); - dismiss(); - } + registerButton.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, + "IndividualCredentialInputFragment: register clicked, client account creation disabled: " + + project.config.clientAccountCreationDisabled); + } + if(project.config.clientAccountCreationDisabled) { + // cannot register in client, open website + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(project.config.masterUrl)); + startActivity(i); + } + else { + mListener.onFinish(project, false, emailET.getText().toString(), nameET.getText().toString(), pwdET.getText().toString()); + dismiss(); } }); TextView forgotPwdButton = v.findViewById(R.id.forgotpwd_text); - forgotPwdButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "IndividualCredentialInputFragment: forgot pwd clicked"); - } - Intent i = new Intent(Intent.ACTION_VIEW); - i.setData(Uri.parse(forgotPwdLink)); - startActivity(i); + forgotPwdButton.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "IndividualCredentialInputFragment: forgot pwd clicked"); } + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(forgotPwdLink)); + startActivity(i); }); CheckBox showPwdCb = v.findViewById(R.id.show_pwd_cb); - showPwdCb.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(((CheckBox) v).isChecked()) { - pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); - } - else { - pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); - pwdET.setTransformationMethod(PasswordTransformationMethod.getInstance()); - } + showPwdCb.setOnClickListener(view -> { + if(((CheckBox) view).isChecked()) { + pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + } + else { + pwdET.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); + pwdET.setTransformationMethod(PasswordTransformationMethod.getInstance()); } }); diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ManualUrlInputFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ManualUrlInputFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ManualUrlInputFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ManualUrlInputFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -32,7 +32,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; @@ -50,24 +49,21 @@ urlInputET = v.findViewById(R.id.url_input); Button continueButton = v.findViewById(R.id.continue_button); - continueButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "ManualUrlInputFragment: continue clicked"); - } - - if(!checkDeviceOnline()) { - return; - } - - //startActivity - Intent intent = new Intent(getActivity(), BatchConflictListActivity.class); - intent.putExtra("conflicts", false); - intent.putExtra("manualUrl", urlInputET.getText().toString()); - startActivity(intent); - dismiss(); + continueButton.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "ManualUrlInputFragment: continue clicked"); } + + if(!checkDeviceOnline()) { + return; + } + + //startActivity + Intent intent = new Intent(getActivity(), BatchConflictListActivity.class); + intent.putExtra("conflicts", false); + intent.putExtra("manualUrl", urlInputET.getText().toString()); + startActivity(intent); + dismiss(); }); return v; diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ProjectInfoFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ProjectInfoFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ProjectInfoFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/ProjectInfoFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -35,7 +35,6 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; @@ -95,14 +94,11 @@ // setup return button Button continueB = v.findViewById(R.id.continue_button); - continueB.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View arg0) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "ProjectInfoFragment continue clicked"); - } - dismiss(); + continueB.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "ProjectInfoFragment continue clicked"); } + dismiss(); }); if(Logging.DEBUG) { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/SelectionListAdapter.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/SelectionListAdapter.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/SelectionListAdapter.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/attach/SelectionListAdapter.java 2020-03-23 05:13:30.000000000 +0000 @@ -72,16 +72,13 @@ summary.setVisibility(View.GONE); ImageView button = v.findViewById(R.id.am_button_image); button.setVisibility(View.VISIBLE); - OnClickListener listener = new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "SelectionListAdapter: account manager clicked."); - } - AcctMgrFragment dialog = new AcctMgrFragment(); - dialog.setReturnToMainActivity(); // configure, so dialog returns to main activity when finished - dialog.show(activity.getSupportFragmentManager(), activity.getString(R.string.attachproject_acctmgr_header)); + OnClickListener listener = view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "SelectionListAdapter: account manager clicked."); } + AcctMgrFragment dialog = new AcctMgrFragment(); + dialog.setReturnToMainActivity(); // configure, so dialog returns to main activity when finished + dialog.show(activity.getSupportFragmentManager(), activity.getString(R.string.attachproject_acctmgr_header)); }; v.setOnClickListener(listener); name.setOnClickListener(listener); @@ -94,22 +91,14 @@ description.setText(listItem.info.generalArea); summary.setText(listItem.info.summary); cb.setChecked(listItem.checked); - cb.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - listItem.checked = !listItem.checked; + cb.setOnClickListener(view -> listItem.checked = !listItem.checked); + textWrapper.setOnClickListener(view -> { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "SelectionListAdapter: onProjectClick open info for: " + listItem.info.name); } - }); - textWrapper.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "SelectionListAdapter: onProjectClick open info for: " + listItem.info.name); - } - ProjectInfoFragment dialog = ProjectInfoFragment.newInstance(listItem.info); - dialog.show(activity.getSupportFragmentManager(), "ProjectInfoFragment"); - } + ProjectInfoFragment dialog = ProjectInfoFragment.newInstance(listItem.info); + dialog.show(activity.getSupportFragmentManager(), "ProjectInfoFragment"); }); } diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java 2020-03-23 05:13:30.000000000 +0000 @@ -39,9 +39,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; import android.view.Window; -import android.widget.AdapterView; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; @@ -121,12 +119,9 @@ mTitle = mDrawerTitle = getTitle(); mDrawerLayout = findViewById(R.id.drawer_layout); mDrawerList = findViewById(R.id.list_slidermenu); - mDrawerList.setOnItemClickListener(new ListView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - // display view for selected nav drawer item - dispatchNavBarOnClick(mDrawerListAdapter.getItem(position), false); - } + mDrawerList.setOnItemClickListener((parent, view, position, id) -> { + // display view for selected nav drawer item + dispatchNavBarOnClick(mDrawerListAdapter.getItem(position), false); }); mDrawerListAdapter = new NavDrawerListAdapter(getApplicationContext()); mDrawerList.setAdapter(mDrawerListAdapter); @@ -320,8 +315,8 @@ Button returnB = dialog.findViewById(R.id.returnB); TextView tvVersion = dialog.findViewById(R.id.version); try { - tvVersion.setText(getString(R.string.about_version) + " " - + getPackageManager().getPackageInfo(getPackageName(), 0).versionName); + tvVersion.setText(getString(R.string.about_version, + getPackageManager().getPackageInfo(getPackageName(), 0).versionName)); } catch(NameNotFoundException e) { if(Logging.WARNING) { @@ -329,12 +324,7 @@ } } - returnB.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); + returnB.setOnClickListener(view -> dialog.dismiss()); dialog.show(); break; case R.string.menu_eventlog: diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BoincNotExclusiveDialog.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BoincNotExclusiveDialog.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BoincNotExclusiveDialog.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/BoincNotExclusiveDialog.java 2020-03-23 05:13:30.000000000 +0000 @@ -20,7 +20,6 @@ import android.app.Activity; import android.app.AlertDialog; -import android.content.DialogInterface; import android.os.Bundle; /** @@ -34,10 +33,6 @@ builder.setMessage(getString(R.string.nonexcl_dialog_text)) .setCancelable(false) .setTitle(getString(R.string.nonexcl_dialog_header)) - .setNeutralButton(getString(R.string.nonexcl_dialog_exit), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - finish(); - } - }).show(); + .setNeutralButton(getString(R.string.nonexcl_dialog_exit), (dialog, id) -> finish()).show(); } } diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ConfirmationDialog.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ConfirmationDialog.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ConfirmationDialog.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ConfirmationDialog.java 2020-03-23 05:13:30.000000000 +0000 @@ -30,12 +30,7 @@ .setTitle(title) .setMessage(message) .setPositiveButton(confirm, mConfirmClickListener) - .setNegativeButton("Cancel", new OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dismiss(); - } - }) + .setNegativeButton("Cancel", (dialog, which) -> dismiss()) .create(); } diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/NoticesFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/NoticesFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/NoticesFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/NoticesFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -22,7 +22,6 @@ import java.util.ArrayList; import java.util.Collections; -import java.util.Comparator; import edu.berkeley.boinc.adapter.NoticesListAdapter; import edu.berkeley.boinc.rpc.Notice; @@ -110,12 +109,7 @@ data = (ArrayList) BOINCActivity.monitor.getRssNotices(); // sorting policy: // latest arrival first. - Collections.sort(data, new Comparator() { - @Override - public int compare(Notice lhs, Notice rhs) { - return ((Double) (rhs.create_time - lhs.create_time)).intValue(); - } - }); + Collections.sort(data, (lhs, rhs) -> ((Double) (rhs.create_time - lhs.create_time)).intValue()); } catch(Exception e) { if(Logging.ERROR) { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/PrefsFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/PrefsFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/PrefsFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/PrefsFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -411,21 +411,18 @@ // Setup confirm button action Button confirm = dialog.findViewById(R.id.confirm); - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - ArrayList selectedOptions = new ArrayList<>(); - for(SelectionDialogOption option : options) { - if(option.selected) { - selectedOptions.add(option.name); - } - } - if(Logging.DEBUG) { - Log.d(Logging.TAG, selectedOptions.size() + " log flags selected"); + confirm.setOnClickListener(view -> { + ArrayList selectedOptions = new ArrayList<>(); + for(SelectionDialogOption option : options) { + if(option.selected) { + selectedOptions.add(option.name); } - new SetCcConfigAsync().execute(formatOptionsToCcConfig(selectedOptions)); - dialog.dismiss(); } + if(Logging.DEBUG) { + Log.d(Logging.TAG, selectedOptions.size() + " log flags selected"); + } + new SetCcConfigAsync().execute(formatOptionsToCcConfig(selectedOptions)); + dialog.dismiss(); }); } else if(item.ID == R.string.prefs_power_source_header) { @@ -439,33 +436,30 @@ // Setup confirm button action Button confirm = dialog.findViewById(R.id.confirm); - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - try { - for(SelectionDialogOption option : options) { - switch(option.ID) { - case R.string.prefs_power_source_ac: - BOINCActivity.monitor.setPowerSourceAc(option.selected); - break; - case R.string.prefs_power_source_usb: - BOINCActivity.monitor.setPowerSourceUsb(option.selected); - break; - case R.string.prefs_power_source_wireless: - BOINCActivity.monitor.setPowerSourceWireless(option.selected); - break; - case R.string.prefs_power_source_battery: - clientPrefs.run_on_batteries = option.selected; - new WriteClientPrefsAsync().execute(clientPrefs); //async task triggers layout update - break; - } + confirm.setOnClickListener(view -> { + try { + for(SelectionDialogOption option : options) { + switch(option.ID) { + case R.string.prefs_power_source_ac: + BOINCActivity.monitor.setPowerSourceAc(option.selected); + break; + case R.string.prefs_power_source_usb: + BOINCActivity.monitor.setPowerSourceUsb(option.selected); + break; + case R.string.prefs_power_source_wireless: + BOINCActivity.monitor.setPowerSourceWireless(option.selected); + break; + case R.string.prefs_power_source_battery: + clientPrefs.run_on_batteries = option.selected; + new WriteClientPrefsAsync().execute(clientPrefs); //async task triggers layout update + break; } - dialog.dismiss(); } - catch(RemoteException e) { - if(Logging.ERROR) { - Log.e(Logging.TAG, "PrefsFragment.setupSelectionListDialog.setOnClickListener: OnClick() error: ", e); - } + dialog.dismiss(); + } + catch(RemoteException e) { + if(Logging.ERROR) { + Log.e(Logging.TAG, "PrefsFragment.setupSelectionListDialog.setOnClickListener: OnClick() error: ", e); } } }); @@ -473,94 +467,81 @@ // Generic cancel button Button cancel = dialog.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); + cancel.setOnClickListener(view -> dialog.dismiss()); } private void setupDialogButtons(final PrefsListItemWrapper item, final Dialog dialog) { // Confirm Button confirm = dialog.findViewById(R.id.confirm); - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - // Sliders - if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.SLIDER) { - SeekBar slider = dialog.findViewById(R.id.seekbar); - int sliderProgress = slider.getProgress(); - double value; - - // Calculate value based on Slider Progress - if(item.ID == R.string.prefs_cpu_number_cpus_header) { - value = numberCpuCoresToPct(sliderProgress <= 0 ? 1 : sliderProgress + 1); - writeClientNumberPreference(item.ID, value); - } - else if(item.ID == R.string.prefs_gui_log_level_header) { - try { - // Monitor and UI in two different processes. set static variable in both - Logging.setLogLevel(sliderProgress); - BOINCActivity.monitor.setLogLevel(sliderProgress); - } - catch(RemoteException e) { - if(Logging.ERROR) { - Log.e(Logging.TAG, "PrefsFragment.setupSelectionListDialog.setOnClickListener: OnClick() error: ", e); - } - } - updateNumberPreference(item.ID, (double) sliderProgress); - updateLayout(); + confirm.setOnClickListener(view -> { + // Sliders + if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.SLIDER) { + SeekBar slider = dialog.findViewById(R.id.seekbar); + int sliderProgress = slider.getProgress(); + double value; + + // Calculate value based on Slider Progress + if(item.ID == R.string.prefs_cpu_number_cpus_header) { + value = numberCpuCoresToPct(sliderProgress <= 0 ? 1 : sliderProgress + 1); + writeClientNumberPreference(item.ID, value); + } + else if(item.ID == R.string.prefs_gui_log_level_header) { + try { + // Monitor and UI in two different processes. set static variable in both + Logging.setLogLevel(sliderProgress); + BOINCActivity.monitor.setLogLevel(sliderProgress); } - else { - value = sliderProgress * 10; - writeClientNumberPreference(item.ID, value); - } - } - // Numbers - else if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.NUMBER) { - EditText edit = dialog.findViewById(R.id.Input); - String input = edit.getText().toString(); - Double valueTmp = parseInputValueToDouble(input); - if(valueTmp == null) { - return; + catch(RemoteException e) { + if(Logging.ERROR) { + Log.e(Logging.TAG, "PrefsFragment.setupSelectionListDialog.setOnClickListener: OnClick() error: ", e); + } } - double value = valueTmp; + updateNumberPreference(item.ID, (double) sliderProgress); + updateLayout(); + } + else { + value = sliderProgress * 10; writeClientNumberPreference(item.ID, value); } - // Texts - else if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.TEXT) { - EditText input = dialog.findViewById(R.id.Input); - - if(item.ID == R.string.prefs_general_device_name_header) { - try { - if(!BOINCActivity.monitor.setDomainName(input.getText().toString())) { - if(Logging.DEBUG) { - Log.d(Logging.TAG, "PrefsFragment.setupDialogButtons.onClick.setDomainName(): false"); - } + } + // Numbers + else if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.NUMBER) { + EditText edit = dialog.findViewById(R.id.Input); + String input = edit.getText().toString(); + Double valueTmp = parseInputValueToDouble(input); + if(valueTmp == null) { + return; + } + double value = valueTmp; + writeClientNumberPreference(item.ID, value); + } + // Texts + else if(item.dialogButtonType == PrefsListItemWrapper.DialogButtonType.TEXT) { + EditText input = dialog.findViewById(R.id.Input); + + if(item.ID == R.string.prefs_general_device_name_header) { + try { + if(!BOINCActivity.monitor.setDomainName(input.getText().toString())) { + if(Logging.DEBUG) { + Log.d(Logging.TAG, "PrefsFragment.setupDialogButtons.onClick.setDomainName(): false"); } } - catch(Exception e) { - if(Logging.ERROR) { - Log.e(Logging.TAG, "PrefsFragment.setupDialogButtons.onClick(): error: " + e); - } + } + catch(Exception e) { + if(Logging.ERROR) { + Log.e(Logging.TAG, "PrefsFragment.setupDialogButtons.onClick(): error: " + e); } } - - updateTextPreference(item.ID, input.getText().toString()); } - dialog.dismiss(); + + updateTextPreference(item.ID, input.getText().toString()); } + dialog.dismiss(); }); // Cancel Button cancel = dialog.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); + cancel.setOnClickListener(view -> dialog.dismiss()); } private void writeClientNumberPreference(int id, double value) { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectDetailsFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectDetailsFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectDetailsFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectDetailsFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -44,7 +44,6 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.widget.Button; @@ -230,34 +229,32 @@ TextView tvTitle = dialog.findViewById(R.id.title); TextView tvMessage = dialog.findViewById(R.id.message); - // operation dependend texts + // operation-dependent texts if(operation == RpcClient.PROJECT_DETACH) { - tvTitle.setText(R.string.projects_confirm_detach_title); - tvMessage.setText(getString(R.string.projects_confirm_detach_message) + " " - + project.project_name + " " + getString(R.string.projects_confirm_detach_message2)); - confirm.setText(R.string.projects_confirm_detach_confirm); + final String removeStr = getString(R.string.projects_confirm_detach_confirm); + + tvTitle.setText(getString(R.string.projects_confirm_title, removeStr)); + tvMessage.setText(getString(R.string.projects_confirm_message, + removeStr.toLowerCase(), + project.project_name + " " + + getString(R.string.projects_confirm_detach_message))); + confirm.setText(removeStr); } else if(operation == RpcClient.PROJECT_RESET) { - tvTitle.setText(R.string.projects_confirm_reset_title); - tvMessage.setText(getString(R.string.projects_confirm_reset_message) + " " - + project.project_name + getString(R.string.projects_confirm_reset_message2)); - confirm.setText(R.string.projects_confirm_reset_confirm); + final String resetStr = getString(R.string.projects_confirm_reset_confirm); + + tvTitle.setText(getString(R.string.projects_confirm_title, resetStr)); + tvMessage.setText(getString(R.string.projects_confirm_message, resetStr.toLowerCase(), + project.project_name)); + confirm.setText(resetStr); } - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - new ProjectOperationAsync().execute(operation); - dialog.dismiss(); - } + confirm.setOnClickListener(view -> { + new ProjectOperationAsync().execute(operation); + dialog.dismiss(); }); Button cancel = dialog.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); + cancel.setOnClickListener(view -> dialog.dismiss()); dialog.show(); } @@ -282,12 +279,9 @@ SpannableString content = new SpannableString(project.master_url); content.setSpan(new UnderlineSpan(), 0, content.length(), 0); website.setText(content); - website.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(project.master_url)); - startActivity(i); - } + website.setOnClickListener(view -> { + Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(project.master_url)); + startActivity(i); }); // set general area diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectsFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectsFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectsFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/ProjectsFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -338,81 +338,73 @@ // handles onClick on list element, could be either project or account manager // sets up dialog with controls - public final OnClickListener projectsListClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - dialogControls = new Dialog(getActivity()); - // layout - dialogControls.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialogControls.setContentView(R.layout.dialog_list); - ListView list = dialogControls.findViewById(R.id.options); - - // add control items depending on: - // - type, account manager vs. project - // - client status, e.g. either suspend or resume - // - show advanced preference - // - project attached via account manager (e.g. hide Remove) - ArrayList controls = new ArrayList<>(); - if(isMgr) { - ((TextView) dialogControls.findViewById(R.id.title)).setText(R.string.projects_control_dialog_title_acctmgr); - - controls.add(new ProjectControl(listEntry, ProjectControl.VISIT_WEBSITE)); - controls.add(new ProjectControl(listEntry, RpcClient.MGR_SYNC)); - controls.add(new ProjectControl(listEntry, RpcClient.MGR_DETACH)); + public final OnClickListener projectsListClickListener = view -> { + dialogControls = new Dialog(getActivity()); + // layout + dialogControls.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialogControls.setContentView(R.layout.dialog_list); + ListView list = dialogControls.findViewById(R.id.options); + + // add control items depending on: + // - type, account manager vs. project + // - client status, e.g. either suspend or resume + // - show advanced preference + // - project attached via account manager (e.g. hide Remove) + ArrayList controls = new ArrayList<>(); + if(isMgr) { + ((TextView) dialogControls.findViewById(R.id.title)).setText(R.string.projects_control_dialog_title_acctmgr); + + controls.add(new ProjectControl(listEntry, ProjectControl.VISIT_WEBSITE)); + controls.add(new ProjectControl(listEntry, RpcClient.MGR_SYNC)); + controls.add(new ProjectControl(listEntry, RpcClient.MGR_DETACH)); + } + else { + ((TextView) dialogControls.findViewById(R.id.title)).setText(R.string.projects_control_dialog_title); + + controls.add(new ProjectControl(listEntry, ProjectControl.VISIT_WEBSITE)); + if(projectTransfers != null && !projectTransfers.isEmpty()) { + controls.add(new ProjectControl(listEntry, RpcClient.TRANSFER_RETRY)); + } + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_UPDATE)); + if(project.suspended_via_gui) { + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_RESUME)); } else { - ((TextView) dialogControls.findViewById(R.id.title)).setText(R.string.projects_control_dialog_title); - - controls.add(new ProjectControl(listEntry, ProjectControl.VISIT_WEBSITE)); - if(projectTransfers != null && !projectTransfers.isEmpty()) { - controls.add(new ProjectControl(listEntry, RpcClient.TRANSFER_RETRY)); - } - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_UPDATE)); - if(project.suspended_via_gui) { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_RESUME)); - } - else { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_SUSPEND)); - } - boolean isShowAdvanced; - try { - isShowAdvanced = BOINCActivity.monitor.getShowAdvanced(); - } - catch(RemoteException e) { - isShowAdvanced = false; - } - if(isShowAdvanced && project.dont_request_more_work) { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_ANW)); - } - if(isShowAdvanced && !project.dont_request_more_work) { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_NNW)); - } - if(isShowAdvanced) { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_RESET)); - } - if(!project.attached_via_acct_mgr) { - controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_DETACH)); - } - } - - // list adapter - list.setAdapter(new ProjectControlsListAdapter(getActivity(), list, R.layout.projects_controls_listitem_layout, controls)); - if(Logging.DEBUG) { - Log.d(Logging.TAG, "dialog list adapter entries: " + controls.size()); - } - - // buttons - Button cancelButton = dialogControls.findViewById(R.id.cancel); - cancelButton.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialogControls.dismiss(); - } - }); + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_SUSPEND)); + } + boolean isShowAdvanced; + try { + isShowAdvanced = BOINCActivity.monitor.getShowAdvanced(); + } + catch(RemoteException e) { + isShowAdvanced = false; + } + if(isShowAdvanced && project.dont_request_more_work) { + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_ANW)); + } + if(isShowAdvanced && !project.dont_request_more_work) { + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_NNW)); + } + if(isShowAdvanced) { + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_RESET)); + } + if(!project.attached_via_acct_mgr) { + controls.add(new ProjectControl(listEntry, RpcClient.PROJECT_DETACH)); + } + } - // show dialog - dialogControls.show(); + // list adapter + list.setAdapter(new ProjectControlsListAdapter(getActivity(), list, R.layout.projects_controls_listitem_layout, controls)); + if(Logging.DEBUG) { + Log.d(Logging.TAG, "dialog list adapter entries: " + controls.size()); } + + // buttons + Button cancelButton = dialogControls.findViewById(R.id.cancel); + cancelButton.setOnClickListener(view1 -> dialogControls.dismiss()); + + // show dialog + dialogControls.show(); }; } @@ -430,71 +422,63 @@ // handles onClick on list element in control dialog // might show confirmation dialog depending on operation type - public final OnClickListener projectCommandClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - - //check whether command requires confirmation - if(operation == RpcClient.PROJECT_DETACH - || operation == RpcClient.PROJECT_RESET - || operation == RpcClient.MGR_DETACH) { - final Dialog dialog = new Dialog(getActivity()); - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(R.layout.dialog_confirm); - Button confirm = dialog.findViewById(R.id.confirm); - TextView tvTitle = dialog.findViewById(R.id.title); - TextView tvMessage = dialog.findViewById(R.id.message); - - // operation dependend texts - if(operation == RpcClient.PROJECT_DETACH) { - tvTitle.setText(R.string.projects_confirm_detach_title); - tvMessage.setText(getString(R.string.projects_confirm_detach_message) + " " - + data.project.project_name + " " + - getString(R.string.projects_confirm_detach_message2)); - confirm.setText(R.string.projects_confirm_detach_confirm); - } - else if(operation == RpcClient.PROJECT_RESET) { - tvTitle.setText(R.string.projects_confirm_reset_title); - tvMessage.setText(getString(R.string.projects_confirm_reset_message) + " " - + data.project.project_name + - getString(R.string.projects_confirm_reset_message2)); - confirm.setText(R.string.projects_confirm_reset_confirm); - } - else if(operation == RpcClient.MGR_DETACH) { - tvTitle.setText(R.string.projects_confirm_remove_acctmgr_title); - tvMessage.setText(getString(R.string.projects_confirm_remove_acctmgr_message) + " " - + data.acctMgrInfo.acct_mgr_name + - getString(R.string.projects_confirm_remove_acctmgr_message2)); - confirm.setText(R.string.projects_confirm_remove_acctmgr_confirm); - } - - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - new ProjectOperationAsync().execute(data, operation); - dialog.dismiss(); - dialogControls.dismiss(); - } - }); - Button cancel = dialog.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); - dialog.show(); - } - else if(operation == - ProjectControl.VISIT_WEBSITE) { // command does not require confirmation and is not rpc based - dialogControls.dismiss(); - Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(data.id)); - startActivity(i); + public final OnClickListener projectCommandClickListener = view -> { + //check whether command requires confirmation + if(operation == RpcClient.PROJECT_DETACH + || operation == RpcClient.PROJECT_RESET + || operation == RpcClient.MGR_DETACH) { + final Dialog dialog = new Dialog(getActivity()); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setContentView(R.layout.dialog_confirm); + Button confirm = dialog.findViewById(R.id.confirm); + TextView tvTitle = dialog.findViewById(R.id.title); + TextView tvMessage = dialog.findViewById(R.id.message); + + // operation-dependent texts + if(operation == RpcClient.PROJECT_DETACH) { + final String removeStr = getString(R.string.projects_confirm_detach_confirm); + + tvTitle.setText(getString(R.string.projects_confirm_title, removeStr)); + tvMessage.setText(getString(R.string.projects_confirm_message, + removeStr.toLowerCase(), + data.project.project_name + " " + + getString(R.string.projects_confirm_detach_message))); + confirm.setText(removeStr); + } + else if(operation == RpcClient.PROJECT_RESET) { + final String resetStr = getString(R.string.projects_confirm_reset_confirm); + + tvTitle.setText(getString(R.string.projects_confirm_title, resetStr)); + tvMessage.setText(getString(R.string.projects_confirm_message, resetStr.toLowerCase(), + data.project.project_name)); + confirm.setText(resetStr); + } + else if(operation == RpcClient.MGR_DETACH) { + tvTitle.setText(R.string.projects_confirm_remove_acctmgr_title); + tvMessage.setText(getString(R.string.projects_confirm_message, + getString(R.string.projects_confirm_remove_acctmgr_message), + data.acctMgrInfo.acct_mgr_name)); + confirm.setText(R.string.projects_confirm_remove_acctmgr_confirm); } - else { // command does not required confirmation, but is rpc based + + confirm.setOnClickListener(view1 -> { new ProjectOperationAsync().execute(data, operation); + dialog.dismiss(); dialogControls.dismiss(); - } + }); + Button cancel = dialog.findViewById(R.id.cancel); + cancel.setOnClickListener(view1 -> dialog.dismiss()); + dialog.show(); + } + else if(operation == + ProjectControl.VISIT_WEBSITE) { // command does not require confirmation and is not rpc based + dialogControls.dismiss(); + Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(data.id)); + startActivity(i); + } + else { // command does not required confirmation, but is rpc based + new ProjectOperationAsync().execute(data, operation); + dialogControls.dismiss(); } }; } diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/SplashActivity.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/SplashActivity.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/SplashActivity.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/SplashActivity.java 2020-03-23 05:13:30.000000000 +0000 @@ -40,8 +40,6 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; -import android.view.View; -import android.view.View.OnLongClickListener; import android.widget.ImageView; /** @@ -152,15 +150,10 @@ // set long click listener to go to eventlog ImageView imageView = findViewById(R.id.logo); - imageView.setOnLongClickListener(new OnLongClickListener() { - - @Override - public boolean onLongClick(View v) { - startActivity(new Intent(activity, EventLogActivity.class)); - return true; - } + imageView.setOnLongClickListener(view -> { + startActivity(new Intent(activity, EventLogActivity.class)); + return true; }); - } @Override diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/StatusFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/StatusFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/StatusFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/StatusFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -269,19 +269,11 @@ } } - private OnClickListener runModeOnClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - new WriteClientRunModeAsync().execute(BOINCDefs.RUN_MODE_AUTO); - } - }; + private OnClickListener runModeOnClickListener = + view -> new WriteClientRunModeAsync().execute(BOINCDefs.RUN_MODE_AUTO); - private OnClickListener addProjectOnClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - startActivity(new Intent(getActivity(), SelectionListActivity.class)); - } - }; + private OnClickListener addProjectOnClickListener = + view -> startActivity(new Intent(getActivity(), SelectionListActivity.class)); private final class WriteClientRunModeAsync extends AsyncTask { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/TasksFragment.java boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/TasksFragment.java --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/TasksFragment.java 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/java/edu/berkeley/boinc/TasksFragment.java 2020-03-23 05:13:30.000000000 +0000 @@ -41,7 +41,6 @@ import android.view.ViewGroup; import android.view.Window; import android.view.View.OnClickListener; -import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; @@ -219,60 +218,48 @@ } } - public final OnClickListener iconClickListener = new OnClickListener() { - @Override - public void onClick(View v) { - try { - final Integer operation = (Integer) v.getTag(); - switch(operation) { - case RpcClient.RESULT_SUSPEND: - nextState = BOINCDefs.RESULT_SUSPENDED_VIA_GUI; + public final OnClickListener iconClickListener = view -> { + try { + final Integer operation = (Integer) view.getTag(); + switch(operation) { + case RpcClient.RESULT_SUSPEND: + nextState = BOINCDefs.RESULT_SUSPENDED_VIA_GUI; + new ResultOperationAsync().execute(result.project_url, result.name, operation.toString()); + break; + case RpcClient.RESULT_RESUME: + nextState = BOINCDefs.PROCESS_EXECUTING; + new ResultOperationAsync().execute(result.project_url, result.name, operation.toString()); + break; + case RpcClient.RESULT_ABORT: + final Dialog dialog = new Dialog(getActivity()); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setContentView(R.layout.dialog_confirm); + Button confirm = dialog.findViewById(R.id.confirm); + TextView tvTitle = dialog.findViewById(R.id.title); + TextView tvMessage = dialog.findViewById(R.id.message); + + tvTitle.setText(R.string.confirm_abort_task_title); + tvMessage.setText(getString(R.string.confirm_abort_task_message, result.name)); + confirm.setText(R.string.confirm_abort_task_confirm); + confirm.setOnClickListener(view1 -> { + nextState = BOINCDefs.RESULT_ABORTED; new ResultOperationAsync().execute(result.project_url, result.name, operation.toString()); - break; - case RpcClient.RESULT_RESUME: - nextState = BOINCDefs.PROCESS_EXECUTING; - new ResultOperationAsync().execute(result.project_url, result.name, operation.toString()); - break; - case RpcClient.RESULT_ABORT: - final Dialog dialog = new Dialog(getActivity()); - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - dialog.setContentView(R.layout.dialog_confirm); - Button confirm = dialog.findViewById(R.id.confirm); - TextView tvTitle = dialog.findViewById(R.id.title); - TextView tvMessage = dialog.findViewById(R.id.message); - - tvTitle.setText(R.string.confirm_abort_task_title); - tvMessage.setText(getString(R.string.confirm_abort_task_message) + " " - + result.name); - confirm.setText(R.string.confirm_abort_task_confirm); - confirm.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - nextState = BOINCDefs.RESULT_ABORTED; - new ResultOperationAsync().execute(result.project_url, result.name, operation.toString()); - dialog.dismiss(); - } - }); - Button cancel = dialog.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); - dialog.show(); - break; - default: - if(Logging.WARNING) { - Log.w(Logging.TAG, "could not map operation tag"); - } - } - listAdapter.notifyDataSetChanged(); //force list adapter to refresh + dialog.dismiss(); + }); + Button cancel = dialog.findViewById(R.id.cancel); + cancel.setOnClickListener(view1 -> dialog.dismiss()); + dialog.show(); + break; + default: + if(Logging.WARNING) { + Log.w(Logging.TAG, "could not map operation tag"); + } } - catch(Exception e) { - if(Logging.WARNING) { - Log.w(Logging.TAG, "failed parsing view tag"); - } + listAdapter.notifyDataSetChanged(); //force list adapter to refresh + } + catch(Exception e) { + if(Logging.WARNING) { + Log.w(Logging.TAG, "failed parsing view tag"); } } }; @@ -301,13 +288,10 @@ } } - public final OnItemClickListener itemClickListener = new OnItemClickListener() { - @Override - public void onItemClick(AdapterView arg0, View view, int position, long arg3) { - TaskData task = listAdapter.getItem(position); - task.expanded = !task.expanded; - listAdapter.notifyDataSetChanged(); - } + public final OnItemClickListener itemClickListener = (adapterView, view, position, arg3) -> { + TaskData task = listAdapter.getItem(position); + task.expanded = !task.expanded; + listAdapter.notifyDataSetChanged(); }; private final class ResultOperationAsync extends AsyncTask { diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -275,17 +275,13 @@ Synchronize Disable - Remove project? - Are you sure you want to remove - from BOINC? + %1$s project? + Are you sure you want to %1$s %2$s? + from BOINC Remove - Reset project - Are you sure you want to reset - \? Reset Disable account manager - Are you sure you want to stop using - \? + stop using Disable @@ -312,7 +308,7 @@ Abort task? - Abort task: + Abort task: %1$s Abort Cancel Confirmation dialog @@ -393,7 +389,7 @@ Return About BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2020 University of California, Berkeley. All Rights Reserved. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ar/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ar/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ar/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ar/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -244,17 +244,11 @@ مزامنة معطّل - إزالة المشروع؟ هل أنت متأكد من رغبتك في إزالة - من BOINC؟ إزالة - صفِّر المشروع - هل أنت متأكد من رغبتك فى إعادة الضبط؟ - إعادة الضبط تعطيل مدير الحسابات هل انت متأكد من رغبتك في إيقاف استخدام - معطّل اسم المهمة: @@ -351,7 +345,7 @@ العودة عن BOINC - اصدار + اصدار %1$s بنية بركلي التحتية المفتوحة للحوسبة الشبكية Berkeley Open Infrastructure for Network Computing diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-az/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-az/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-az/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-az/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -252,17 +252,11 @@ Sinxronizasiya Çıxarın - Layihə silinsin? Silmək istədiyizdən əminsinizmi? - BOINC-dan? Sil - Layihəni sıfırla - Sifariş etmək istədiyinizə əminsinizmi? - \? Sıfırla Hesab menecerini söndürün Istifadəni dayandırmaq istədiyinizə əminsinizmi? - \? Çıxarın İşin adı: @@ -360,7 +354,7 @@ Qayıt Haqqında BOINC - Versiya + Versiya %1$s Berkeley Open Infrastructure for Network Computing Bütün hüquqlar qorunur. Dəstək üçün Max Planck Qravitasiya Fizika İnstitutu, IBM və HTC şirkətlərinəsayəsində diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-bg/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-bg/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-bg/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-bg/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -257,17 +257,11 @@ Синхронизирай Деактивирай - Премахване на проект? Сигурни ли сте, че искате да премахнете - от BOINC? Премахни - Нулиране на проект - Сигурни ли сте, че искате да нулирате - \? Нулиране Деактивирайте акаунт мениджъра Сигурни ли сте, че искате да спрете да използвате - \? Деактивирай Име на Задача: @@ -367,7 +361,7 @@ Връщане Относно BOINC - Версия + Версия %1$s Бъркли Отворена Инфраструктура за Споделени Изчисления Всички Права Запазени. Благодарности към Института Макс Планк за Гравитационна Физика, IBM Corporation и HTC diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-b+sr+Latn/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-b+sr+Latn/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-b+sr+Latn/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-b+sr+Latn/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -226,17 +226,11 @@ Sinhronizuj Isključi - Ukloni projekat? Sigurno želite da uklonite - od BOINC? Ukloni - Počni projekat ispočetka - Jeste li sigurni da želite sve ispočetka - \? Počni ispočetka Isključi menadžer naloga Jeste li sigurni da želite da prekinete upotrebu - \? Isključi Ime zadatka: @@ -334,7 +328,7 @@ Povratak O BOINC - Verzija + Verzija %1$s Otvorena Infrastrukutra za mrežna računanja Berkelija Sva prava zadržana. Hvala Maks Plankovom Institutu za gravitacionu fiziku, IBM Korporaciji i HTC Korporaciji na njihovoj podršci. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ca/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ca/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ca/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ca/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -257,17 +257,11 @@ Sincronitzar Desactivar - Eliminar el projecte? Estàs segur que voleu eliminar - de BOINC? Elimina - Reinicia el projecte - Estàs segur que vols reiniciar - \? Reinicia Desactivar el gestor de comptes Està segur de voler finalitzar la utilització de - \? Desactivar Nom de la tasca: @@ -366,7 +360,7 @@ Retorna Sobre BOINC - Versió + Versió %1$s Berkeley Open Infrastructure for Network Computing Reservats tots els drets. Gràcies a l\'Institut Max Planck de Física Gravitacional, IBM Corporation i HTC diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-cs/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-cs/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-cs/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-cs/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -242,17 +242,11 @@ Synchronizovat Zakázat - Odebrat projekt? Jste si jisti, že chcete odstranit - z BOINCu? Odebrat - Restartovat projekt - Jste si jisti, že chcete restartovat - \? Restartovat Vypnout správce účtu Jste si jisti, že chcete přestat používat - \? Zakázat Název úkolu: @@ -351,7 +345,7 @@ Návrat O programu BOINC - Verze + Verze %1$s Berkeley Open Infrastructure for Network Computing (Berkeleyská Otevřená Infrastruktura pro Síťové Výpočty) /u00A9 2003-2019 Univerzita v Kalifornii, Berkeley. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-da/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-da/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-da/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-da/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -247,17 +247,11 @@ Synkronisér Deaktivér - Fjern projekt? Er du sikker på, at du vil fjerne - fra BOINC? Fjern - Nulstil projekt - Er du sikker på, at du vil nulstille - \? Nulstil Deaktivér kontohåndtering Er du sikker på, du vil stoppe med at bruge - \? Deaktivér Opgavenavn: @@ -355,7 +349,7 @@ Tilbage Om BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing Alle rettigheder forbeholdes. Tak til Max Planck Institute for Gravitational Physics, IBM Corporation og HTC diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-de/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-de/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-de/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-de/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -231,17 +231,11 @@ Synchronisieren Deaktivieren - Projekt entfernen? Wollen Sie wirklich - von BOINC entfernen? Entfernen - Projekt zurücksetzen - Sind Sie sicher, dass Projekt neu zu initialisieren - \? Zurücksetzen Kontoverwaltung deaktivieren Sind Sie sicher die Kontoverwaltung zu entfernen - \? Deaktivieren Aufgabenname: @@ -340,7 +334,7 @@ Zurück Über BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 Universität von Kalifornien, Berkeley. Alle Rechte vorbehalten. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-en/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-en/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-en/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-en/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -243,17 +243,13 @@ Synchronize Disable - Remove project? + %1$s project? + Are you sure you want to %1$s %2$s? Are you sure you want to remove - from BOINC? Remove - Reset project - Are you sure you want to reset - \? Reset Disable account manager - Are you sure you want to stop using - \? + stop using Disable Task Name: @@ -351,7 +347,7 @@ Return About BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2016 University of California, Berkeley. All Rights Reserved. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-es/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-es/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-es/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-es/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -249,17 +249,11 @@ Sincronizar Deshabilitar - ¿Borrar proyecto? Seguro que quieres borrarlo - de BOINC? Eliminar - Reiniciar proyecto - Seguro que quieres reinciar - \? Reset Deshabilitar el administrador de cuentas Está seguro de que quiere dejar de usar - \? Deshabilitar Nombre de la tarea: @@ -357,7 +351,7 @@ Volver Acerca de BOINC - Versión + Versión %1$s Infraestructura Abierta de Berkeley para Computación en Red Todos los derechos reservados. Gracias al \"Max Planck Institute for Gravitational Physics\", IBM Corporation y HTC diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-eu/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-eu/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-eu/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-eu/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -252,17 +252,11 @@ Sinkronizatu Desgaitu - Proiektua kendu? Ziur al zaude ezabatu nahi duzula - BOINCetik? Kendu - Berrabiarazi proiektua - Ziur al zaude berrabiarazi nahi duzula - \? Berrezarri Desgaitu kontu-administratzailea Ziur al zaude erabiltzeari utzi nahi diozula - \? Desgaitu Atazaren izena: @@ -361,7 +355,7 @@ Itzuli Honi buruz BOINC - Bertsioa + Bertsioa %1$s Sare bidezko Konputaziorako Berkeleyko Azpiegitura Irekia \u00A9 2003–2019 Kaliforniako Unibertsitatea Berkeleyn. Eskubide guztiak erreserbatuta. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-fi/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-fi/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-fi/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-fi/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -252,17 +252,11 @@ Synkronoi Poista - Poista projekti? Haluatko varmasti poistaa - BOINCista? Poista - Nollaa projekti - Haluatko varmasti nollata - \? Nollaa Poista tilihallitsija käytöstä Haluatko lopettaa käyttämästä - \? Poista käytöstä Tehtävän nimi: @@ -360,7 +354,7 @@ Takaisin Tietoja BOINC - Versio + Versio %1$s Berkeleyn avoin infrastruktuuri verkkolaskentaan \u00A9 2003–2019 Kalifornian yliopisto, Berkeley. Kaikki oikeudet pidätetään. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-fr/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-fr/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-fr/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-fr/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -252,17 +252,11 @@ Synchroniser Désactiver - Supprimer le projet ? Êtes-vous sûr de vouloir supprimer - de BOINC ? Supprimer - Recommencer le projet - Êtes-vous sûr de vouloir recommencer - \? Réinitialiser Désactiver le gestionnaire de compte Êtes-vous sûr de vouloir cesser d\'utiliser - \? Désactiver Nom de la tâche : @@ -361,7 +355,7 @@ Retour À propos BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 Université de Californie, Berkeley. Tous droits réservés. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-he/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-he/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-he/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-he/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -236,17 +236,11 @@ סנכרן השבת - להסיר את המיזם? האם אתה בטוח שברצונך להסיר - מ-BOINC? הסר - אפס את המיזם - האם אתה בטוח שברצונך לאפס - \? אפס השבת את מנהל חשבונות האם אתה בטוח שברצונך להפסיק את השימוש ב- - \? השבת שם המשימה: @@ -344,7 +338,7 @@ חזור על אודות BOINC - גירסה + גירסה %1$s התשתית הפתוחה של ברקלי עבור מחשוב רשת כל הזכויות שמורות. תודות למכון מקס פלנק לפיסיקה כבידתית, תאגיד IBM וחברת HTC על תמיכתם. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-hu/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-hu/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-hu/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-hu/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -251,17 +251,11 @@ Szinkronizáció Kikapcsolva - Törlöd a projektet? Biztosan le akarod törölni - BOINC-ról? Eltávolítás - Projekt nullázása - Biztosan újrakezded - \? Visszaállítás Fiókkezelő kikapcsolása Biztosan le akarod állítani a használatot - \? Kikapcsolva Feladat neve: @@ -359,7 +353,7 @@ Vissza Névjegy BOINC - Verzió + Verzió %1$s Berkeley Open Infrastructure for Network Computing\n(Berkeley Nyílt Infrastruktúra a Hálózati Számításért) diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-it-rIT/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-it-rIT/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-it-rIT/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-it-rIT/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -247,17 +247,11 @@ Sincronizza Disabilita - Rimuovere il progetto? Sei sicuro di voler rimuovere - da BOINC? Rimuovi - Resetta il progetto - Sei sicuro di voler resettare - \? Resetta Disabilita l\'account manager Sei sicuro di voler terminare l\'utilizzo - \? Disabilita Nome attività: @@ -356,7 +350,7 @@ Invio Informazioni BOINC - Versione + Versione %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 Università della California, Berkeley. Tutti i diritti riservati. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ja/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ja/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ja/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ja/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -227,17 +227,11 @@ 同期 無効 - プロジェクトを削除しますか? 本当に削除しますか - BOINCから? 削除 - プロジェクトをリセット - 本当にリセットしますか - \? リセット アカウント・マネージャを無効にする 本当に使用を停止しますか - \? 無効 タスク名: @@ -335,7 +329,7 @@ 戻る バージョン情報 BOINC - バージョン + バージョン %1$s Berkeley Open Infrastructure for Network Computing All Rights Reserved. The Max Planck Institute for Gravitational Physics, IBM Corporation, HTC Corporation diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ka/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ka/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ka/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ka/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -255,17 +255,11 @@ სინქრონიზირება გათიშვა - გსურთ პროექტის წაშლა? დარწმუნებული ხართ, რომ გსურთ წაშალოთ - BOINC-იდან? წაშლა - პროექტის ჩამოგდება - დარწმუნებული ხართ, რომ გსურთ ჩამოაგდოთ - \? ჩამოგდება ანგარიშის მმართველის გათიშვა დარწმუნებული ხართ, რომ გსურთ აღარ გამოიყენოთ - \? გათიშვა დავალების სახელი: @@ -363,7 +357,7 @@ დაბრუნება პროგრამის შესახებ BOINC-ი - ვერსია + ვერსია %1$s ქსელური გამოთვლების ბერკელეის ღია ინფრასტრუქტურა ყველა უფლება დაცულია. მადლობა გრავიტაცული ფიზიკის მაქს პლანკის ინსტიტუტს, აი-ბი-ემ კორპორაციას და ეიჩ-თი-სი diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ko/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ko/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ko/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ko/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -228,17 +228,11 @@ 동기화 비활성 - 프로젝트를 제거할까요? BOINC상에서 정말로 프로젝트명: - 를 제거하시겠습니까? 제거 - 프로젝트 재설정 - 다음 프로젝트가 재설정됩니다 괘찮습니까: - \? 재설정 계정 관리자 비활성화 정말로 다음 항목 사용을 중지합니까 - \? 비활성화 태스크 이름: @@ -336,7 +330,7 @@ 뒤로 정보 BOINC - 버전 + 버전 %1$s 네트워크 컴퓨팅을 위한 Berkeley 개방형 하부구조체 모든 권리 보유 막스 플랑크 중력 물리학 연구소, IBM Corporation, HTC의 지원에 감사드립니다. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-lt/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-lt/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-lt/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-lt/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -236,17 +236,11 @@ Sinchronizuoti Išjungti - Pašalinti projektą? Ar tikrai norite pašalinti - iš BOINC? Pašalinti - Perkrauti projektą - Ar tikrai norite perkrauti - \? Atstatyti Išjungti abonemento valdiklį Ar tikrai norite nebenaudoti - \? Išjungti Užduoties pavadinimas: @@ -345,7 +339,7 @@ Grįžti Apie BOINC - Versija + Versija %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 University of California, Berkeley. Visos teisės saugomos diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-lv/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-lv/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-lv/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-lv/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -247,17 +247,11 @@ Sinhronizēt Atspējot - Vai noņemt projektu? Vai tiešām vēlaties noņemt projektu - no BOINC? Izņemt - Atjaunināt projektu - Vai tiešām vēlaties atiestatīt projektu - \? Atiestatīt Atspējot konta pārvaldnieku Vai tiešām vēlaties pārtraukt lietot - \? Atspējot Uzdevuma nosaukums: @@ -356,7 +350,7 @@ Atgriezties Par BOINC - Versija + Versija %1$s Bērkli atvērtā infrastruktūra tīklskaitļošanai \u00A9 2003–2018 Kalifornijas universitāte, Bērkli. Visas tiesības aizsargātas. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-nb/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-nb/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-nb/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-nb/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -246,17 +246,11 @@ Synkroniser Deaktiver - Fjern prosjekt? Er du sikker på at du vil fjerne - fra BOINC Fjern - Nullstill prosjekt - Er du sikker på at du vil nullstille - \? Nullstill Deaktiver kontobehandler Er du sikker på at du vil slutte å bruke - \? Deaktiver Oppgavenavn: @@ -353,7 +347,7 @@ Returner Om BOINC - Versjon + Versjon %1$s Berkeley Open Infrastructure for Network Computing All Rights Reserved. Takk til Max Planck Institute for Gravitational Physics, IBM Corporation og HTC diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-nl/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-nl/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-nl/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-nl/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -231,17 +231,11 @@ Bijwerken Uitzetten - Project verwijderen? Weet je zeker dat je - uit BOINC wilt verwijderen? Verwijderen - Project resetten - Weet je zeker dat je - \? Resetten Accountmanager uitzetten Weet je zeker dat je wilt stoppen met het gebruik van - \? Uitzetten Taaknaam: @@ -340,7 +334,7 @@ Terug Over BOINC - Versie + Versie %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 University of California, Berkeley. Alle rechten voorbehouden. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pl/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pl/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pl/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pl/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -224,17 +224,11 @@ Synchronizuj Wyłącz - Usuwanie projektu Czy na pewno chcesz usunąć - z BOINC? Usuń - Wyzerowanie projektu - Czy na pewno chcesz wyzerować - \? Wyzeruj Wyłączenie zarządcy kont Czy na pewno chcesz przestać używać - \? Wyłącz Nazwa zadania: @@ -332,7 +326,7 @@ Wróć O BOINC BOINC - Wersja + Wersja %1$s Berkeley Open Infrastructure for Network Computing Wszelkie prawa zastrzeżone. Dziękujemy Instytutowi Fizyki Grawitacyjnej Max Plancka, korporacjom IBM i HTC za wsparcie. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pt-rBR/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pt-rBR/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pt-rBR/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pt-rBR/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -231,17 +231,11 @@ Sincronizar Desativar - Remover projeto? Você tem certeza que quer remover - do BOINC? Remover - Reiniciar projeto - Você tem certeza que quer reiniciar - \? Reiniciar Desabilitar gerenciador de conta Você tem certeza que quer parar de usar - \? Desativar Nome da Tarefa: @@ -340,7 +334,7 @@ Voltar Sobre BOINC - Versão + Versão %1$s Infraestrutura Aberta para Computação em Rede de Berkeley \u00A9 2003-2019 Universidade da Califórnia, Berkeley. Todos os Direitos Reservados. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pt-rPT/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pt-rPT/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-pt-rPT/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-pt-rPT/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -237,17 +237,11 @@ Sincronizar Desativar - Remover projeto? Tem a certeza que deseja remover - do BOINC? Remover - Reiniciar projeto - Tem a certeza que deseja reiniciar - \? Reiniciar Desativar gestor de conta Tem a certeza que deseja parar de utilizar o - \? Desativar Nome da tarefa: @@ -346,7 +340,7 @@ Regressar Sobre BOINC - Versão + Versão %1$s Infraestrutura Aberta Berkeley para a Rede de Computação \u00A9 2003–2019 Universidade da Califórnia, Berkeley. Todos os Direitos Reservados. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ro/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ro/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ro/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ro/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -224,17 +224,11 @@ Sincronizează Dezactivează - Şterge proiect? Sunteţi sigur că doriţi să ştergeţi - din BOINC? Șterge - Resetează proiect - Sunteţi sigur că doriţi să resetaţi - \? Resetează Dezactivează manager de cont Sunteţi sigur că doriţi să nu mai folosiţi - \? Dezactivează Nume Task: @@ -332,7 +326,7 @@ Înapoi Despre BOINC - Versiune + Versiune %1$s Berkeley Open Infrastructure for Network Computing Toate Drepturile Rezervate. Mulțumiri Institutului Max Planck pentru Fizică Gravitațională, IBM Corporation și HTC Corporation pentru suportul lor. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ru/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ru/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-ru/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-ru/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -231,17 +231,11 @@ Синхронизировать Отключить - Удалить проект? Вы действительно хотите удалить - из BOINC? Удалить - Перезапустить проект - Вы действительно хотите перезапустить - \? Сбросить Отключить менеджер проектов Вы уверены, что хотите прекратить использование - \? Отключить Название задания: @@ -340,7 +334,7 @@ Вернуться О BOINC - Версия + Версия %1$s BOINC - Berkeley Open Infrastructure for Network Computing\nОткрытая Инфраструктура для Распределенных Вычислений университета Беркли \u00A9 2003–2019 Калифорнийский университет, Беркли. Все права защищены. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sk/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sk/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sk/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sk/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -237,17 +237,11 @@ Sychronizovať Deaktivovať - Odstrániť projekt? Skutočne chcete odstrániť - z BOINC? Odobrať - Resetovať projekt - Skutočne chcete resetovať - \? Resetovať Deaktivovať Správcu konta Skutočne chcete prestať používať - \? Deaktivovať Názov úlohy: @@ -346,7 +340,7 @@ Návrat O BOINC - Verzia + Verzia %1$s (Otvorená infraštruktúra pre sieťové výpočty z Berkeley) (Berkeley Open Infrastructure for Network Computing) Všetky práva vyhradené. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sl/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sl/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sl/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sl/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -220,8 +220,6 @@ Dezactivează Odstrani - Перезапустить проект - Вы действительно хотите перезапустить Сбросить Dezactivează manager de cont Sunteţi sigur că doriţi să nu mai folosiţi @@ -302,7 +300,7 @@ О BOINC - Različica + Različica %1$s Berkeleyeva odprta infrastruktura za mrežno računanje diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sv/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sv/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-sv/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-sv/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -239,17 +239,11 @@ Synkronisera Koppla bort - Ta bort projekt? Är du säker på att du vill ta bort - från BOINC? Ta bort - Återställ projekt - Är du säker på att du vill återställa - \? Nollställ Avaktivera kontohanterare Är du säker på att du vill sluta använda - \? Avaktivera Uppgiftsnamn: @@ -348,7 +342,7 @@ Återvänd Om BOINC - Version + Version %1$s Berkeley Open Infrastructure for Network Computing \u00A9 2003–2019 Kaliforniens universitet, Berkeley. Alla rättigheter reserverade. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-tr/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-tr/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-tr/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-tr/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -224,17 +224,11 @@ Eşitle Devredışı bırak - Proje kaldırılsın mı? Kaldırmak istediğinizden emin misiniz? - BOINC\'ten? Kaldır - Projeyi sıfırla - Bu proje sıfırlansın mı: - \? Sıfırla Hesap Yöneticisini devredışı bırak Bu hesap yöneticisini kullanmayı bırakmak istiyor musunuz: - \? Devredışı bırak İş adı: @@ -332,7 +326,7 @@ Geri dön Hakkında BOINC - Sürüm + Sürüm %1$s Berkeley Open Infrastructure for Network Computing Tüm Hakları Saklıdır. Verdikleri destek için Max Planck Enstitüsü Yerçekimi Fizik Bölümü\'ne, IBM ve HTC şirketlerine teşekkürler. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-uk/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-uk/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-uk/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-uk/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -253,17 +253,11 @@ Синхронізувати Відключити - Видалити проект? Ви справді хочете видалити - із BOINC? Видалити - Перезапустити проект - Ви справді хочете перезапустити - \? Перезапустити Відключити менеджер проектів Ви впевнені, що бажаєте припинити використання - \? Відключити Назва завдання: @@ -362,7 +356,7 @@ Повернутися Про додаток BOINC - Версія + Версія %1$s Відкрита інфраструктура для розподілених обчислень університету Берклі \u00A9 2003–2019 Каліфорнійський університет, Берклі. Всі права захищені. diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-zh-rCN/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-zh-rCN/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-zh-rCN/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-zh-rCN/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -252,17 +252,11 @@ 同步 已禁用 - 移除项目? 您确定要删除项目吗? - 移除? 删除 - 重置项目 - 您确定要重置项目吗? - \? 重置 禁用帐户管理器 您确定要重置 - \? 已禁用 任务名称: @@ -361,7 +355,7 @@ 返回 关于 BOINC - 版本 + 版本 %1$s 伯克利开放式网络计算平台 ( BOINC ) \u00A9 2003–2019 加州大学伯克利分校。 所有权利保留。 diff -Nru boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-zh-rTW/strings.xml boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-zh-rTW/strings.xml --- boinc-7.16.5+dfsg/android/BOINC/app/src/main/res/values-zh-rTW/strings.xml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/BOINC/app/src/main/res/values-zh-rTW/strings.xml 2020-03-23 05:13:30.000000000 +0000 @@ -235,17 +235,11 @@ 同步 停用 - 移除專案? 您確定從BOINC將 - 移除? 移除 - 重置專案 - 您確定要重置 - \? 重置 來自帳號管理員的請求 您確定要重置 - \? 停用 任務名稱: @@ -344,7 +338,7 @@ 返回 關於 BOINC - 版本 + 版本 %1$s 柏克萊開放式網路運算平台 \u00A9 2003–2019 美國加州大學柏克萊分校 All Rights Reserved. diff -Nru boinc-7.16.5+dfsg/android/build_all.sh boinc-7.16.6+dfsg/android/build_all.sh --- boinc-7.16.5+dfsg/android/build_all.sh 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/build_all.sh 2020-03-23 05:13:30.000000000 +0000 @@ -2,12 +2,12 @@ set -e # -# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient# +# See: https://boinc.berkeley.edu/trac/wiki/AndroidBuildClient # # Script to compile everything BOINC needs for Android -./buildAndroidBOINC-CI.sh --cache_dir $ANDROID_TC --build_dir $HOME/3rdParty --arch arm -./buildAndroidBOINC-CI.sh --cache_dir $ANDROID_TC --build_dir $HOME/3rdParty --arch arm64 -./buildAndroidBOINC-CI.sh --cache_dir $ANDROID_TC --build_dir $HOME/3rdParty --arch x86 -./buildAndroidBOINC-CI.sh --cache_dir $ANDROID_TC --build_dir $HOME/3rdParty --arch x86_64 +./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$HOME/3rdParty" --arch arm +./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$HOME/3rdParty" --arch arm64 +./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$HOME/3rdParty" --arch x86 +./buildAndroidBOINC-CI.sh --cache_dir "$ANDROID_TC" --build_dir "$HOME/3rdParty" --arch x86_64 diff -Nru boinc-7.16.5+dfsg/android/buildAndroidBOINC-CI.sh boinc-7.16.6+dfsg/android/buildAndroidBOINC-CI.sh --- boinc-7.16.5+dfsg/android/buildAndroidBOINC-CI.sh 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/android/buildAndroidBOINC-CI.sh 2020-03-23 05:13:30.000000000 +0000 @@ -112,6 +112,10 @@ echo "cleaning build dir" rm -rf "${BUILD_DIR}" mkdir -p "${BUILD_DIR}" + echo "cleaning downloaded cache files" + rm -f /tmp/ndk.zip + rm -f /tmp/openssl.tgz + rm -f /tmp/curl.tgz fi if [ "${silent}" = "yes" ]; then @@ -125,20 +129,18 @@ OPENSSL_FLAGFILE="$PREFIX/openssl-${OPENSSL_VERSION}-${arch}_done" if [ ! -e "${NDK_FLAGFILE}" ]; then - rm -f /tmp/ndk.zip rm -rf "$HOME/android-ndk-r${NDK_VERSION}" rm -rf "${PREFIX}/${arch}" rm -f "${CURL_FLAGFILE}" "${OPENSSL_FLAGFILE}" - wget --no-verbose -O /tmp/ndk.zip https://dl.google.com/android/repository/android-ndk-r${NDK_VERSION}-linux-x86_64.zip + wget -c --no-verbose -O /tmp/ndk.zip https://dl.google.com/android/repository/android-ndk-r${NDK_VERSION}-linux-x86_64.zip unzip -qq /tmp/ndk.zip -d $HOME touch "${NDK_FLAGFILE}" fi export NDK_ROOT=$HOME/android-ndk-r${NDK_VERSION} if [ ! -e "${OPENSSL_FLAGFILE}" ]; then - rm -f /tmp/openssl.tgz rm -rf "$BUILD_DIR/openssl-${OPENSSL_VERSION}" - wget --no-verbose -O /tmp/openssl.tgz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz + wget -c --no-verbose -O /tmp/openssl.tgz https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz tar xzf /tmp/openssl.tgz --directory=$BUILD_DIR export COMPILEOPENSSL="yes" touch "${OPENSSL_FLAGFILE}" @@ -146,9 +148,8 @@ export OPENSSL_SRC=$BUILD_DIR/openssl-${OPENSSL_VERSION} if [ ! -e "${CURL_FLAGFILE}" ]; then - rm -f /tmp/curl.tgz rm -rf "$BUILD_DIR/curl-${CURL_VERSION}" - wget --no-verbose -O /tmp/curl.tgz https://curl.haxx.se/download/curl-${CURL_VERSION}.tar.gz + wget -c --no-verbose -O /tmp/curl.tgz https://curl.haxx.se/download/curl-${CURL_VERSION}.tar.gz tar xzf /tmp/curl.tgz --directory=$BUILD_DIR export COMPILECURL="yes" touch "${CURL_FLAGFILE}" diff -Nru boinc-7.16.5+dfsg/client/acct_mgr.cpp boinc-7.16.6+dfsg/client/acct_mgr.cpp --- boinc-7.16.5+dfsg/client/acct_mgr.cpp 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/client/acct_mgr.cpp 2020-03-23 05:13:30.000000000 +0000 @@ -252,6 +252,7 @@ gstate.time_stats.write(mf, true); gstate.net_stats.write(mf); +#ifndef SIM // send task descriptions if requested by AM // if (ami.send_tasks_all || ami.send_tasks_active) { @@ -259,6 +260,7 @@ gstate.write_tasks_gui(mf, !ami.send_tasks_all); mf.printf("\n"); } +#endif fprintf(f, "\n"); fclose(f); diff -Nru boinc-7.16.5+dfsg/client/scripts/Makefile.am boinc-7.16.6+dfsg/client/scripts/Makefile.am --- boinc-7.16.5+dfsg/client/scripts/Makefile.am 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/client/scripts/Makefile.am 2020-03-23 05:13:30.000000000 +0000 @@ -25,5 +25,5 @@ fi clean: - rm boinc-client.service - rm boinc-client + rm -f boinc-client.service + rm -f boinc-client diff -Nru boinc-7.16.5+dfsg/configure.ac boinc-7.16.6+dfsg/configure.ac --- boinc-7.16.5+dfsg/configure.ac 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/configure.ac 2020-03-23 05:13:30.000000000 +0000 @@ -6,7 +6,7 @@ AC_PREREQ(2.58) dnl Set the BOINC version here. You can also use the set-version script. -AC_INIT(BOINC, 7.17.0) +AC_INIT(BOINC, 7.16.6) AC_CONFIG_MACRO_DIR([m4]) LIBBOINC_VERSION=`echo ${PACKAGE_VERSION} | sed 's/\./:/g'` AC_SUBST([LIBBOINC_VERSION]) @@ -409,7 +409,7 @@ if test "${no_mysql}" = yes; then AC_MSG_ERROR([ ================================================================================ -ERROR: trying to build BOINC-server, but MYSQL was not be found. +ERROR: trying to build BOINC-server, but MYSQL was not found. If you do not want to build the server you should use --disable-server. diff -Nru boinc-7.16.5+dfsg/debian/changelog boinc-7.16.6+dfsg/debian/changelog --- boinc-7.16.5+dfsg/debian/changelog 2020-02-27 14:32:39.000000000 +0000 +++ boinc-7.16.6+dfsg/debian/changelog 2020-04-19 15:07:33.000000000 +0000 @@ -1,3 +1,16 @@ +boinc (7.16.6+dfsg-1) unstable; urgency=medium + + * New upstream version 7.16.6+dfsg + * Refresh patches + + -- Gianfranco Costamagna Sun, 19 Apr 2020 17:07:33 +0200 + +boinc (7.16.5+dfsg-1exp1) experimental; urgency=medium + + * Upload to experimental again, with the boinc-server-* packages. + + -- Gianfranco Costamagna Thu, 27 Feb 2020 15:33:53 +0100 + boinc (7.16.5+dfsg-1) unstable; urgency=medium * New upstream version 7.16.5+dfsg diff -Nru boinc-7.16.5+dfsg/debian/patches/boinclib_shared.patch boinc-7.16.6+dfsg/debian/patches/boinclib_shared.patch --- boinc-7.16.5+dfsg/debian/patches/boinclib_shared.patch 2019-10-01 05:36:51.000000000 +0000 +++ boinc-7.16.6+dfsg/debian/patches/boinclib_shared.patch 2020-04-19 15:06:11.000000000 +0000 @@ -5,7 +5,7 @@ =================================================================== --- boinc-salsa.orig/lib/Makefile.am +++ boinc-salsa/lib/Makefile.am -@@ -184,7 +184,7 @@ lib_LTLIBRARIES = libboinc.la +@@ -186,7 +186,7 @@ lib_LTLIBRARIES = libboinc.la libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources) libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) @@ -14,7 +14,7 @@ if OS_FREEBSD libboinc_la_LDFLAGS += -lexecinfo endif -@@ -195,7 +195,7 @@ lib_LTLIBRARIES += libboinc_crypt.la +@@ -197,7 +197,7 @@ lib_LTLIBRARIES += libboinc_crypt.la libboinc_crypt_la_SOURCES = crypt.cpp libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) diff -Nru boinc-7.16.5+dfsg/debian/patches/fix-underlinking.patch boinc-7.16.6+dfsg/debian/patches/fix-underlinking.patch --- boinc-7.16.5+dfsg/debian/patches/fix-underlinking.patch 2019-10-01 05:36:51.000000000 +0000 +++ boinc-7.16.6+dfsg/debian/patches/fix-underlinking.patch 2020-04-19 15:06:31.000000000 +0000 @@ -33,7 +33,7 @@ =================================================================== --- boinc-salsa.orig/lib/Makefile.am +++ boinc-salsa/lib/Makefile.am -@@ -195,8 +195,8 @@ lib_LTLIBRARIES += libboinc_crypt.la +@@ -197,8 +197,8 @@ lib_LTLIBRARIES += libboinc_crypt.la libboinc_crypt_la_SOURCES = crypt.cpp libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) diff -Nru boinc-7.16.5+dfsg/debian/patches/static_scientific_apps.patch boinc-7.16.6+dfsg/debian/patches/static_scientific_apps.patch --- boinc-7.16.5+dfsg/debian/patches/static_scientific_apps.patch 2019-10-01 05:36:51.000000000 +0000 +++ boinc-7.16.6+dfsg/debian/patches/static_scientific_apps.patch 2020-04-19 15:07:00.000000000 +0000 @@ -2,7 +2,7 @@ =================================================================== --- boinc-salsa.orig/lib/Makefile.am +++ boinc-salsa/lib/Makefile.am -@@ -184,6 +184,10 @@ lib_LTLIBRARIES = libboinc.la +@@ -186,6 +186,10 @@ lib_LTLIBRARIES = libboinc.la libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources) libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) @@ -13,7 +13,7 @@ libboinc_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) if OS_FREEBSD libboinc_la_LDFLAGS += -lexecinfo -@@ -195,6 +199,10 @@ lib_LTLIBRARIES += libboinc_crypt.la +@@ -197,6 +201,10 @@ lib_LTLIBRARIES += libboinc_crypt.la libboinc_crypt_la_SOURCES = crypt.cpp libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) @@ -24,7 +24,7 @@ libboinc_crypt_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) $(SSL_LIBS) $(RSA_LIBS) libboinc_crypt_la_LIBADD = $(LIBBOINC) endif -@@ -204,6 +212,10 @@ lib_LTLIBRARIES += libboinc_fcgi.la +@@ -206,6 +214,10 @@ lib_LTLIBRARIES += libboinc_fcgi.la libboinc_fcgi_la_SOURCES = $(libfcgi_sources) $(mac_sources) $(win_sources) libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) @@ -35,7 +35,7 @@ libboinc_fcgi_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) libboinc_fcgi_la_LIBADD = endif -@@ -267,7 +279,7 @@ msg_test_CXXFLAGS = $(PTHREAD_CFLAGS) +@@ -269,7 +281,7 @@ msg_test_CXXFLAGS = $(PTHREAD_CFLAGS) msg_test_LDADD = $(LIBBOINC) crypt_prog_SOURCES = crypt_prog.cpp crypt_prog_CXXFLAGS = $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) diff -Nru boinc-7.16.5+dfsg/lib/Makefile.am boinc-7.16.6+dfsg/lib/Makefile.am --- boinc-7.16.5+dfsg/lib/Makefile.am 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/lib/Makefile.am 2020-03-23 05:13:30.000000000 +0000 @@ -102,7 +102,8 @@ mac/QMachOImage.c \ mac/QMachOImageList.c \ mac/QSymbols.c \ - mac/QTaskMemory.c + mac/QTaskMemory.c \ + mac/mac_branding.cpp mac_headers = \ mac/dyld_gdb.h \ mac/mac_backtrace.h \ @@ -112,7 +113,8 @@ mac/QMachOImage.h \ mac/QMachOImageList.h \ mac/QSymbols.h \ - mac/QTaskMemory.h + mac/QTaskMemory.h \ + mac/mac_branding.h win_sources= win_headers= else # !(OS_WIN32 || OS_MAC) diff -Nru boinc-7.16.5+dfsg/Makefile.am boinc-7.16.6+dfsg/Makefile.am --- boinc-7.16.5+dfsg/Makefile.am 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/Makefile.am 2020-03-23 05:13:30.000000000 +0000 @@ -58,7 +58,8 @@ if INSTALL_HEADERS pkginclude_HEADERS = \ version.h \ - svn_version.h + svn_version.h \ + project_specific_defines.h endif # svn_version.h should always be rebuilt. diff -Nru boinc-7.16.5+dfsg/.travis.yml boinc-7.16.6+dfsg/.travis.yml --- boinc-7.16.5+dfsg/.travis.yml 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/.travis.yml 2020-03-23 05:13:30.000000000 +0000 @@ -1,4 +1,5 @@ language: cpp +os: linux compiler: - gcc @@ -8,7 +9,6 @@ - coverity_scan dist: trusty -sudo: required cache: timeout: 600 @@ -30,7 +30,7 @@ # secret API keys for Coverity and bintray - secure: "Rd++Hyurnwd/tvjH0PX2seO3QUZ6WOf8bSB2ZkKPfZCU6+tXVMvloyog6Mlc7vl0m3WFAzw24MDtNLFBUktRsVXOkqDup1s6PdkwwcwG+5wAnydN+kXF9PcqKyOi0xJvl48Wji+r92Y9SCLzPnQGjZg70xHET22bDZHt2FsjP80=" - secure: dYJhIQi9mB00HsyjNEbyyeh7ChHxbg9o6dkBvub/4dRwJKN+KAReU7yHshUTpHI+Nn4TdCjpwHcDMDOklRTSeUFz79jGEmCVqvnz0DynZFroryX3rdAnc/kW4QkupgLZk4JKCN0JRPOM/j9RS2zLxkqrDc7gibF7BNgIhu1jUXk= - matrix: + jobs: - BOINC_TYPE=libs - BOINC_TYPE=server - BOINC_TYPE=client @@ -40,7 +40,7 @@ - BOINC_TYPE=apps-mingw - BOINC_TYPE=unit-test -matrix: +jobs: fast_finish: true include: - language: php diff -Nru boinc-7.16.5+dfsg/version.log boinc-7.16.6+dfsg/version.log --- boinc-7.16.5+dfsg/version.log 2020-02-24 03:22:11.000000000 +0000 +++ boinc-7.16.6+dfsg/version.log 2020-03-23 05:13:30.000000000 +0000 @@ -1 +1 @@ -7.17.0 +7.16.6