select_partition()
{
  # Determine active swap partitions
  SWAPS=`swapon -s | grep '^\/' | cut -d' ' -f1`

  # Build items for the radio buttons
  ITEMS=""
  for SWAP in $SWAPS; do
    ITEMS="$ITEMS $SWAP $SWAP $SWAP"
  done
  
  # Define strings
  BACKTITLE="Userspace Software Suspend"
  TITLE="Select resume partition"
  HELP="Select a partition to resume from after hibernate (s2disk or s2both)"

  # Ask the user to select one of the partitions
  echo $ITEMS | xargs \
    dialog --backtitle "$BACKTITLE" \
           --title     "$TITLE"     \
           --stdout                 \
           --radiolist "$HELP"      \
           0 0 0
}

download_module uswsusp &&

if ! grep -q CONFIGURED $MODULE_CONFIG; then
  while [ -z "$PARTITION" ]; do
    PARTITION=`select_partition`
    if [[ "$?" != "0" ]]; then
      echo
      message "${PROBLEM_COLOR}You need to define a resume partition${DEFAULT_COLOR}!"
      exit 1
    fi
  done

  TEMP=`grep -v "HIBERNATE_PARTITION="         $MODULE_CONFIG`
  echo "$TEMP"                               > $MODULE_CONFIG 
  echo "HIBERNATE_PARTITION=\"$PARTITION\"" >> $MODULE_CONFIG

  OPTS="$OPTS --with-resume-device=$PARTITION"
fi
