¿Cómo obtener el último domingo antes de la fecha actual?

Tengo el siguiente código para obtener el último domingo antes de la fecha actual:

Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.WEEK_OF_YEAR, calendar.get(Calendar.WEEK_OF_YEAR)-1);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Log.e("first day", String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)));

Pero este código no funciona. Por favor, dime, ¿cómo puedo solucionarlo?

Respuestas a la pregunta(6)

Su respuesta a la pregunta