module rf and arduino

Hi guys, lately I came across a project that consists of an RF connection between an attiny85 transmitter and an Arduino receiver. Basically I would like to create a system where the arduino by the lighting of a led indicates to me when it no longer receives the signal from the attic85 or because it is off or because it is too far from the range of the arduino. Now the problem is that the LED connected to the Arduino remains perpetually active, why? do you have any useful tips to give me?
the program for the attiny85 is this:

#include <VirtualWire.h>
    const int TX_DIO_Pin = 0;
    
    void setup() {
      pinMode(1, OUTPUT);
      initialize_transmitter();
    }
    
    /* Main program */
    void loop() {
      int counter;
      for(counter=0; counter<100; counter++) {
        digitalWrite(1, HIGH);  
        transmit_integer(counter);
        digitalWrite(1, LOW); 
        delay(200);
      }
    }
    
    
    /* DO NO EDIT BELOW */
    
    void initialize_transmitter() {
      /* Initialises the DIO pin used to send data to the Tx module */
      vw_set_tx_pin(TX_DIO_Pin);
      /* Set the transmit logic level (LOW = transmit for this version of module)*/ 
      vw_set_ptt_inverted(true); 
      
      /* Transmit at 2000 bits per second */
      vw_setup(2000);    // Bits per sec
    }
    
    void transmit_integer(unsigned int Data) {
      /* The transmit buffer that will hold the data to be 
         transmitted. */
      byte TxBuffer[2];
      /* ...and store it as high and low bytes in the transmit 
         buffer */
      TxBuffer[0] = Data >> 8;
      TxBuffer[1] = Data;
      
      /* Send the data (2 bytes) */
      vw_send((byte *)TxBuffer, 2);
      /* Wait until the data has been sent */
      vw_wait_tx();
    }

for the arduino is this:

#include <VirtualWire.h>

const int RX_DIO_Pin = 2;
int received;
int led=7;

void setup() {
  pinMode(led, OUTPUT);
    Serial.begin(9600);
    initialize_receiver();
}

/* Main program */
void loop() {
  received = receive_integer();
  if(received != -1) Serial.println(received);
}


/* DO NOT EDIT BELOW */

void initialize_receiver() {
  /* Initialises the DIO pin used to receive data from the Rx module */
  vw_set_rx_pin(RX_DIO_Pin);  
  /* Receive at 2000 bits per second */
  vw_setup(2000);
  /* Enable the receiver */
  vw_rx_start();  
}

int receive_integer() {
 /* Set the receive buffer size to 2 bytes */
  uint8_t Buffer_Size = 2;
  
  /* Holds the recived data */
  unsigned int Data;
  
  /* The receive buffer */
  uint8_t RxBuffer[Buffer_Size];

  if (vw_wait_rx_max(2000))
  /* Has a message been received? */
  if (vw_get_message(RxBuffer, &Buffer_Size)) // Non-blocking
  {

      /* Store the received high and low byte data */
      Data = RxBuffer[0] << 8 | RxBuffer[1];
 
      return Data;
      digitalWrite(led,LOW);
  }
  else {
    digitalWrite(led, HIGH);
  }
  return -1;
}

the RF modules are those available on the internet at 2.00 euros per pair, those shoddy to be clear, but I think that for a similar job are more 'than enough not? (the counter from 1 to 99 is a way to create a connection between the two modules, but I would say that you could very well send a whole or a character) Can someone help me solve the problem? Thanks in advance.

      return Data;
      digitalWrite(led,LOW);
  }

Code after a return statement is not executed.