Add ComposeActivity tests. Add ServiceLocator (#542)
This commit is contained in:
parent
4e617dccc7
commit
28e46c9cc0
18 changed files with 337 additions and 154 deletions
|
|
@ -192,10 +192,12 @@ public class NotificationsFragment extends SFragment implements
|
|||
TabLayout layout = activity.findViewById(R.id.tab_layout);
|
||||
onTabSelectedListener = new TabLayout.OnTabSelectedListener() {
|
||||
@Override
|
||||
public void onTabSelected(TabLayout.Tab tab) {}
|
||||
public void onTabSelected(TabLayout.Tab tab) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabUnselected(TabLayout.Tab tab) {}
|
||||
public void onTabUnselected(TabLayout.Tab tab) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTabReselected(TabLayout.Tab tab) {
|
||||
|
|
@ -281,7 +283,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
status.getReblog().setReblogged(reblog);
|
||||
}
|
||||
|
||||
NotificationViewData.Concrete viewdata = (NotificationViewData.Concrete)notifications.getPairedItem(position);
|
||||
NotificationViewData.Concrete viewdata = (NotificationViewData.Concrete) notifications.getPairedItem(position);
|
||||
|
||||
StatusViewData.Builder viewDataBuilder = new StatusViewData.Builder(viewdata.getStatusViewData());
|
||||
viewDataBuilder.setReblogged(reblog);
|
||||
|
|
@ -318,7 +320,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
status.getReblog().setFavourited(favourite);
|
||||
}
|
||||
|
||||
NotificationViewData.Concrete viewdata = (NotificationViewData.Concrete)notifications.getPairedItem(position);
|
||||
NotificationViewData.Concrete viewdata = (NotificationViewData.Concrete) notifications.getPairedItem(position);
|
||||
|
||||
StatusViewData.Builder viewDataBuilder = new StatusViewData.Builder(viewdata.getStatusViewData());
|
||||
viewDataBuilder.setFavourited(favourite);
|
||||
|
|
@ -587,13 +589,14 @@ public class NotificationsFragment extends SFragment implements
|
|||
}
|
||||
|
||||
private void saveNewestNotificationId(List<Notification> notifications) {
|
||||
AccountManager accountManager = TuskyApplication.getAccountManager();
|
||||
AccountManager accountManager = TuskyApplication.getInstance(getContext())
|
||||
.getServiceLocator().get(AccountManager.class);
|
||||
AccountEntity account = accountManager.getActiveAccount();
|
||||
BigInteger lastNoti = new BigInteger(account.getLastNotificationId());
|
||||
|
||||
for (Notification noti: notifications) {
|
||||
for (Notification noti : notifications) {
|
||||
BigInteger a = new BigInteger(noti.getId());
|
||||
if(isBiggerThan(a, lastNoti)) {
|
||||
if (isBiggerThan(a, lastNoti)) {
|
||||
lastNoti = a;
|
||||
}
|
||||
}
|
||||
|
|
@ -606,7 +609,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
|
||||
private boolean isBiggerThan(BigInteger newId, BigInteger lastShownNotificationId) {
|
||||
|
||||
return lastShownNotificationId.compareTo(newId) == - 1;
|
||||
return lastShownNotificationId.compareTo(newId) == -1;
|
||||
}
|
||||
|
||||
private void update(@Nullable List<Notification> newNotifications, @Nullable String fromId,
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import com.keylesspalace.tusky.PreferencesActivity;
|
|||
import com.keylesspalace.tusky.R;
|
||||
import com.keylesspalace.tusky.TuskyApplication;
|
||||
import com.keylesspalace.tusky.db.AccountEntity;
|
||||
import com.keylesspalace.tusky.db.AccountManager;
|
||||
|
||||
public class PreferencesFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
SharedPreferences sharedPreferences;
|
||||
|
|
@ -47,20 +48,26 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
return fragment;
|
||||
}
|
||||
|
||||
private AccountManager accountManager;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
accountManager = TuskyApplication.getInstance(getActivity()).getServiceLocator()
|
||||
.get(AccountManager.class);
|
||||
|
||||
|
||||
int preference = getArguments().getInt("preference");
|
||||
|
||||
addPreferencesFromResource(preference);
|
||||
|
||||
|
||||
Preference notificationPreferences = findPreference("notificationPreferences");
|
||||
Preference notificationPreferences = findPreference("notificationPreferences");
|
||||
|
||||
if(notificationPreferences != null) {
|
||||
if (notificationPreferences != null) {
|
||||
|
||||
AccountEntity activeAccount = TuskyApplication.getAccountManager().getActiveAccount();
|
||||
AccountEntity activeAccount = accountManager.getActiveAccount();
|
||||
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O && activeAccount != null) {
|
||||
notificationPreferences.setSummary(getString(R.string.pref_summary_notifications, activeAccount.getFullName()));
|
||||
|
|
@ -92,8 +99,8 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
}
|
||||
}
|
||||
|
||||
Preference timelineFilterPreferences = findPreference("timelineFilterPreferences");
|
||||
if(timelineFilterPreferences != null) {
|
||||
Preference timelineFilterPreferences = findPreference("timelineFilterPreferences");
|
||||
if (timelineFilterPreferences != null) {
|
||||
timelineFilterPreferences.setOnPreferenceClickListener(pref -> {
|
||||
PreferencesActivity activity = (PreferencesActivity) getActivity();
|
||||
if (activity != null) {
|
||||
|
|
@ -104,8 +111,8 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
});
|
||||
}
|
||||
|
||||
Preference httpProxyPreferences = findPreference("httpProxyPreferences");
|
||||
if(httpProxyPreferences != null) {
|
||||
Preference httpProxyPreferences = findPreference("httpProxyPreferences");
|
||||
if (httpProxyPreferences != null) {
|
||||
httpProxyPreferences.setOnPreferenceClickListener(pref -> {
|
||||
PreferencesActivity activity = (PreferencesActivity) getActivity();
|
||||
if (activity != null) {
|
||||
|
|
@ -117,11 +124,11 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
});
|
||||
}
|
||||
|
||||
if(preference == R.xml.notification_preferences) {
|
||||
if (preference == R.xml.notification_preferences) {
|
||||
|
||||
AccountEntity activeAccount = TuskyApplication.getAccountManager().getActiveAccount();
|
||||
AccountEntity activeAccount = accountManager.getActiveAccount();
|
||||
|
||||
if(activeAccount != null) {
|
||||
if (activeAccount != null) {
|
||||
|
||||
CheckBoxPreference notificationPref = (CheckBoxPreference) findPreference("notificationsEnabled");
|
||||
notificationPref.setChecked(activeAccount.getNotificationsEnabled());
|
||||
|
|
@ -188,10 +195,10 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
default:
|
||||
}
|
||||
|
||||
AccountEntity activeAccount = TuskyApplication.getAccountManager().getActiveAccount();
|
||||
AccountEntity activeAccount = accountManager.getActiveAccount();
|
||||
|
||||
if(activeAccount != null) {
|
||||
switch(key) {
|
||||
if (activeAccount != null) {
|
||||
switch (key) {
|
||||
case "notificationsEnabled":
|
||||
activeAccount.setNotificationsEnabled(sharedPreferences.getBoolean(key, true));
|
||||
break;
|
||||
|
|
@ -217,7 +224,7 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPre
|
|||
activeAccount.setNotificationLight(sharedPreferences.getBoolean(key, true));
|
||||
break;
|
||||
}
|
||||
TuskyApplication.getAccountManager().saveAccount(activeAccount);
|
||||
accountManager.saveAccount(activeAccount);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import com.keylesspalace.tusky.ViewTagActivity;
|
|||
import com.keylesspalace.tusky.ViewThreadActivity;
|
||||
import com.keylesspalace.tusky.ViewVideoActivity;
|
||||
import com.keylesspalace.tusky.db.AccountEntity;
|
||||
import com.keylesspalace.tusky.db.AccountManager;
|
||||
import com.keylesspalace.tusky.entity.Attachment;
|
||||
import com.keylesspalace.tusky.entity.Relationship;
|
||||
import com.keylesspalace.tusky.entity.Status;
|
||||
|
|
@ -71,19 +72,14 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
protected MastodonApi mastodonApi;
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
AccountEntity activeAccount = TuskyApplication.getAccountManager().getActiveAccount();
|
||||
if(activeAccount != null) {
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
AccountEntity activeAccount = TuskyApplication.getInstance(getContext()).getServiceLocator()
|
||||
.get(AccountManager.class).getActiveAccount();
|
||||
if (activeAccount != null) {
|
||||
loggedInAccountId = activeAccount.getAccountId();
|
||||
loggedInUsername = activeAccount.getUsername();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
BaseActivity activity = (BaseActivity) getActivity();
|
||||
mastodonApi = activity.mastodonApi;
|
||||
}
|
||||
|
|
@ -153,10 +149,12 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
Call<Relationship> call = mastodonApi.muteAccount(id);
|
||||
call.enqueue(new Callback<Relationship>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<Relationship> call, @NonNull Response<Relationship> response) {}
|
||||
public void onResponse(@NonNull Call<Relationship> call, @NonNull Response<Relationship> response) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<Relationship> call, @NonNull Throwable t) {}
|
||||
public void onFailure(@NonNull Call<Relationship> call, @NonNull Throwable t) {
|
||||
}
|
||||
});
|
||||
callList.add(call);
|
||||
Intent intent = new Intent(TimelineReceiver.Types.MUTE_ACCOUNT);
|
||||
|
|
@ -169,10 +167,12 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
Call<Relationship> call = mastodonApi.blockAccount(id);
|
||||
call.enqueue(new Callback<Relationship>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<Relationship> call, @NonNull retrofit2.Response<Relationship> response) {}
|
||||
public void onResponse(@NonNull Call<Relationship> call, @NonNull retrofit2.Response<Relationship> response) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<Relationship> call, @NonNull Throwable t) {}
|
||||
public void onFailure(@NonNull Call<Relationship> call, @NonNull Throwable t) {
|
||||
}
|
||||
});
|
||||
callList.add(call);
|
||||
Intent intent = new Intent(TimelineReceiver.Types.BLOCK_ACCOUNT);
|
||||
|
|
@ -185,10 +185,12 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
Call<ResponseBody> call = mastodonApi.deleteStatus(id);
|
||||
call.enqueue(new Callback<ResponseBody>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<ResponseBody> call, @NonNull retrofit2.Response<ResponseBody> response) {}
|
||||
public void onResponse(@NonNull Call<ResponseBody> call, @NonNull retrofit2.Response<ResponseBody> response) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {}
|
||||
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
|
||||
}
|
||||
});
|
||||
callList.add(call);
|
||||
}
|
||||
|
|
@ -275,7 +277,7 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
ViewCompat.setTransitionName(view, url);
|
||||
ActivityOptionsCompat options =
|
||||
ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
|
||||
view, url);
|
||||
view, url);
|
||||
startActivity(intent, options.toBundle());
|
||||
} else {
|
||||
startActivity(intent);
|
||||
|
|
@ -318,7 +320,7 @@ public abstract class SFragment extends BaseFragment implements AdapterItemRemov
|
|||
}
|
||||
|
||||
protected void openReportPage(String accountId, String accountUsername, String statusId,
|
||||
Spanned statusContent) {
|
||||
Spanned statusContent) {
|
||||
Intent intent = new Intent(getContext(), ReportActivity.class);
|
||||
intent.putExtra("account_id", accountId);
|
||||
intent.putExtra("account_username", accountUsername);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue